diff --git a/bun.lockb b/bun.lockb index 8f14b4475..748c3458b 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 6dccd3980..d20962e93 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "@resvg/resvg-js": "^2.6.2", "@types/three": "^0.160.0", "@vanilla-extract/css": "^1.15.5", - "adm-zip": "^0.5.16", "bepaint": "^0.1.0-beta.3", "csv-parse": "^5.5.6", "decompress": "^4.2.1", @@ -53,10 +52,8 @@ "markdown-escape": "^2.0.0", "markdown-to-jsx": "^7.5.0", "parse-dds": "^1.2.1", - "pickleparser": "^0.2.1", "postprocessing": "^6.36.0", "progress": "^2.0.3", - "protobufjs": "^7.4.0", "satori": "^0.10.14", "sharp": "^0.33.5", "three-stdlib": "^2.32.2", @@ -65,7 +62,6 @@ }, "_devDependencies": { "@total-typescript/ts-reset": "^0.5.1", - "@types/adm-zip": "^0.5.5", "@types/bun": "latest", "@types/decompress": "^4.2.7", "@types/escape-html": "^1.0.4", diff --git a/src/core/blitzstars/getStatsInPeriod/index.ts b/packages/bot/src/core/blitzstars/getStatsInPeriod.ts similarity index 93% rename from src/core/blitzstars/getStatsInPeriod/index.ts rename to packages/bot/src/core/blitzstars/getStatsInPeriod.ts index 66ee8e8e6..a718705bf 100644 --- a/src/core/blitzstars/getStatsInPeriod/index.ts +++ b/packages/bot/src/core/blitzstars/getStatsInPeriod.ts @@ -1,10 +1,10 @@ import { Locale } from 'discord.js'; -import { Region } from '../../../constants/regions'; +import { Region } from '../../../../../src/constants/regions'; import getTankHistories, { TankHistories, TankHistoryRaw, -} from '../../blitzkit/getTankHistories'; -import { BlitzStats } from '../../statistics/compositeStats/constants'; +} from '../../../../../src/core/blitzkit/getTankHistories'; +import { BlitzStats } from '../../../../../src/core/statistics/compositeStats/constants'; import { emptyAllStats } from './constants'; const emptyTankHistoryNode: TankHistoryRaw = { @@ -106,3 +106,5 @@ export default async function getStatsInPeriod( return { diff, order } satisfies DiffedTankStats; } + +export * from './constants'; diff --git a/packages/bot/src/core/blitzstars/index.ts b/packages/bot/src/core/blitzstars/index.ts new file mode 100644 index 000000000..1af136eff --- /dev/null +++ b/packages/bot/src/core/blitzstars/index.ts @@ -0,0 +1 @@ +export * from './getStatsInPeriod'; diff --git a/src/core/streams/wotbreplay.ts b/packages/bot/src/core/streams/wotbreplay.ts similarity index 96% rename from src/core/streams/wotbreplay.ts rename to packages/bot/src/core/streams/wotbreplay.ts index 07a25ebbd..8cecebb5d 100644 --- a/src/core/streams/wotbreplay.ts +++ b/packages/bot/src/core/streams/wotbreplay.ts @@ -2,7 +2,7 @@ import AdmZip from 'adm-zip'; import { readFile, writeFile } from 'fs/promises'; import { Parser } from 'pickleparser'; import protobuf from 'protobufjs'; -import { ReadStream } from './buffer'; +import { ReadStream } from '../../../../core/src/streams/buffer'; interface WotbReplayMetaJson { version: string; diff --git a/packages/core/package.json b/packages/core/package.json index b6a60eca4..42cc72333 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -8,9 +8,13 @@ "lodash": "^4.17.21", "@prisma/client": "^5.19.1", "@octokit/plugin-throttling": "^8.2.0", - "lz4js": "^0.2.0" + "protobufjs": "^7.4.0", + "lz4js": "^0.2.0", + "pickleparser": "^0.2.1", + "adm-zip": "^0.5.16" }, "devDependencies": { + "@types/adm-zip": "^0.5.5", "@types/lodash": "^4.17.7", "@types/lz4js": "^0.2.1" } diff --git a/packages/website/public/protos/BattleResultsClient.proto b/packages/core/protos/BattleResultsClient.proto similarity index 100% rename from packages/website/public/protos/BattleResultsClient.proto rename to packages/core/protos/BattleResultsClient.proto diff --git a/packages/website/public/protos/PlayerAvatarImage.proto b/packages/core/protos/PlayerAvatarImage.proto similarity index 100% rename from packages/website/public/protos/PlayerAvatarImage.proto rename to packages/core/protos/PlayerAvatarImage.proto diff --git a/packages/website/public/protos/average_definitions.proto b/packages/core/protos/average_definitions.proto similarity index 100% rename from packages/website/public/protos/average_definitions.proto rename to packages/core/protos/average_definitions.proto diff --git a/packages/website/public/protos/reviews.proto b/packages/core/protos/reviews.proto similarity index 100% rename from packages/website/public/protos/reviews.proto rename to packages/core/protos/reviews.proto diff --git a/packages/core/src/blitz/constants.ts b/packages/core/src/blitz/constants.ts index bf4dcadb8..3132c6263 100644 --- a/packages/core/src/blitz/constants.ts +++ b/packages/core/src/blitz/constants.ts @@ -6,3 +6,23 @@ export const TANK_CLASSES = [ 'heavyTank', 'AT-SPG', ] as const; + +export const emptyAllStats: BlitzStats = { + battles: 0, + capture_points: 0, + damage_dealt: 0, + damage_received: 0, + dropped_capture_points: 0, + frags: 0, + frags8p: 0, + hits: 0, + losses: 0, + max_frags: 0, + max_xp: 0, + shots: 0, + spotted: 0, + survived_battles: 0, + xp: 0, + win_and_survived: 0, + wins: 0, +}; diff --git a/packages/core/src/blitz/index.ts b/packages/core/src/blitz/index.ts index 8943a0afa..a780a13d4 100644 --- a/packages/core/src/blitz/index.ts +++ b/packages/core/src/blitz/index.ts @@ -1,3 +1,4 @@ export * from './constants'; export * from './idToRegion'; +export * from './permanentSkills'; export * from './resolveNearPenetration'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/constants.tsx b/packages/core/src/blitz/permanentSkills.tsx similarity index 100% rename from packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/constants.tsx rename to packages/core/src/blitz/permanentSkills.tsx diff --git a/src/core/blitzkit/availableProvisions.ts b/packages/core/src/blitzkit/availableProvisions.ts similarity index 82% rename from src/core/blitzkit/availableProvisions.ts rename to packages/core/src/blitzkit/availableProvisions.ts index 143ad7158..edd2c0ba6 100644 --- a/src/core/blitzkit/availableProvisions.ts +++ b/packages/core/src/blitzkit/availableProvisions.ts @@ -1,5 +1,5 @@ +import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; import { checkConsumableProvisionInclusivity } from './checkConsumableProvisionInclusivity'; -import { ProvisionDefinitions } from './provisionDefinitions'; import { GunDefinition, TankDefinition } from './tankDefinitions'; export function availableProvisions( diff --git a/src/core/blitzkit/averageDefinitions/constants.ts b/packages/core/src/blitzkit/averageDefinitions/constants.ts similarity index 71% rename from src/core/blitzkit/averageDefinitions/constants.ts rename to packages/core/src/blitzkit/averageDefinitions/constants.ts index b25afdf7c..36816d061 100644 --- a/src/core/blitzkit/averageDefinitions/constants.ts +++ b/packages/core/src/blitzkit/averageDefinitions/constants.ts @@ -1,6 +1,5 @@ import { Samples } from '.'; -import { emptyAllStats } from '../../blitzstars/getStatsInPeriod/constants'; -import { BlitzkitStats } from '../../statistics/compositeStats/constants'; +import { emptyAllStats } from '../../blitz/constants'; export const emptyAverageDefinitionsAllStats: BlitzkitStats = { ...emptyAllStats, diff --git a/src/core/blitzkit/averageDefinitions/index.ts b/packages/core/src/blitzkit/averageDefinitions/index.ts similarity index 84% rename from src/core/blitzkit/averageDefinitions/index.ts rename to packages/core/src/blitzkit/averageDefinitions/index.ts index d448e4ce6..9d65527ed 100644 --- a/src/core/blitzkit/averageDefinitions/index.ts +++ b/packages/core/src/blitzkit/averageDefinitions/index.ts @@ -1,5 +1,5 @@ -import { decode } from '../../protobuf/decode'; -import { BlitzkitStats } from '../../statistics/compositeStats/constants'; +import { BlitzkitStats } from '../../../../../src/core/statistics/compositeStats/constants'; +import { decodeProtobuf } from '../../protobuf/decodeProtobuf'; import { asset } from '../asset'; export interface AverageDefinitionsEntry { @@ -51,7 +51,7 @@ export const averageDefinitions = fetch(asset('averages/manifest.json'), { .then((manifest) => fetch(asset(`averages/${manifest.latest}.pb`))) .then((response) => response.arrayBuffer()) .then((buffer) => - decode( + decodeProtobuf( 'average_definitions', 'blitzkit.AverageDefinitions', new Uint8Array(buffer), @@ -65,7 +65,9 @@ export const averageDefinitionsArray = averageDefinitions.then((data) => ({ id: Number(key), ...(value as AverageDefinitionsEntry), - }) satisfies AverageDefinitionsEntryWithId, + } satisfies AverageDefinitionsEntryWithId), ) .filter((tank) => tank.mu.battles > 0), ); + +export * from './constants'; diff --git a/src/core/blitzkit/checkConsumableProvisionInclusivity.ts b/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts similarity index 89% rename from src/core/blitzkit/checkConsumableProvisionInclusivity.ts rename to packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts index 1f72f81f7..0e0bf217b 100644 --- a/src/core/blitzkit/checkConsumableProvisionInclusivity.ts +++ b/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts @@ -1,5 +1,5 @@ -import { ConsumableEntry } from './consumableDefinitions'; -import { ProvisionEntry } from './provisionDefinitions'; +import { ConsumableEntry } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; +import { ProvisionEntry } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; import { GunDefinition, TankDefinition } from './tankDefinitions'; export function checkConsumableProvisionInclusivity( diff --git a/src/core/blitzkit/coefficient.ts b/packages/core/src/blitzkit/coefficient.ts similarity index 100% rename from src/core/blitzkit/coefficient.ts rename to packages/core/src/blitzkit/coefficient.ts diff --git a/src/core/blitzkit/consumableDefinitions.ts b/packages/core/src/blitzkit/consumableDefinitions.ts similarity index 100% rename from src/core/blitzkit/consumableDefinitions.ts rename to packages/core/src/blitzkit/consumableDefinitions.ts diff --git a/src/core/blitzkit/createDefaultSkills.ts b/packages/core/src/blitzkit/createDefaultSkills.ts similarity index 64% rename from src/core/blitzkit/createDefaultSkills.ts rename to packages/core/src/blitzkit/createDefaultSkills.ts index 8b97e671a..359b3af13 100644 --- a/src/core/blitzkit/createDefaultSkills.ts +++ b/packages/core/src/blitzkit/createDefaultSkills.ts @@ -1,5 +1,5 @@ -import { permanentSkills } from '../../app/tools/tankopedia/[id]/components/Characteristics/components/Skills/constants'; -import { SkillDefinitions } from './skillDefinitions'; +import { SkillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; +import { permanentSkills } from '../blitz/permanentSkills'; export function createDefaultSkills(skillDefinitions: SkillDefinitions) { const skills: Record = {}; diff --git a/src/core/blitzkit/equipmentDefinitions.ts b/packages/core/src/blitzkit/equipmentDefinitions.ts similarity index 100% rename from src/core/blitzkit/equipmentDefinitions.ts rename to packages/core/src/blitzkit/equipmentDefinitions.ts diff --git a/src/core/blitzkit/eventManager.ts b/packages/core/src/blitzkit/eventManager.ts similarity index 100% rename from src/core/blitzkit/eventManager.ts rename to packages/core/src/blitzkit/eventManager.ts diff --git a/packages/core/src/blitzkit/index.ts b/packages/core/src/blitzkit/index.ts index f312f33a8..8497b3a23 100644 --- a/packages/core/src/blitzkit/index.ts +++ b/packages/core/src/blitzkit/index.ts @@ -1,12 +1,30 @@ export * from './assertSecret'; export * from './asset'; +export * from './availableProvisions'; +export * from './averageDefinitions'; export * from './camouflageDefinitions'; +export * from './checkConsumableProvisionInclusivity'; +export * from './coefficient'; +export * from './consumableDefinitions'; +export * from './createDefaultSkills'; +export * from './equipmentDefinitions'; +export * from './eventManager'; export * from './fetchCdonLz4'; export * from './filterTank'; export * from './gameDefinitions'; +export * from './isExplosive'; export * from './modelDefinitions'; +export * from './pose'; +export * from './provisionDefinitions'; +export * from './resolvePenetrationCoefficient'; +export * from './reviews'; +export * from './skillDefinitions'; +export * from './sum'; export * from './superCompress'; export * from './superDecompress'; +export * from './tankCharacteristics'; export * from './tankDefinitions'; export * from './tankIcon'; export * from './tankNames'; +export * from './uniqueGuns'; +export * from './youtubers'; diff --git a/src/core/blitz/isExplosive.ts b/packages/core/src/blitzkit/isExplosive.ts similarity index 69% rename from src/core/blitz/isExplosive.ts rename to packages/core/src/blitzkit/isExplosive.ts index 08847774f..d487d17b8 100644 --- a/src/core/blitz/isExplosive.ts +++ b/packages/core/src/blitzkit/isExplosive.ts @@ -1,4 +1,4 @@ -import { ShellDefinition, ShellType } from '../blitzkit/tankDefinitions'; +import { ShellDefinition, ShellType } from '@blitzkit/core'; export function isExplosive( type: ShellDefinition['type'], diff --git a/src/core/blitzkit/pose.ts b/packages/core/src/blitzkit/pose.ts similarity index 100% rename from src/core/blitzkit/pose.ts rename to packages/core/src/blitzkit/pose.ts diff --git a/src/core/blitzkit/provisionDefinitions.ts b/packages/core/src/blitzkit/provisionDefinitions.ts similarity index 85% rename from src/core/blitzkit/provisionDefinitions.ts rename to packages/core/src/blitzkit/provisionDefinitions.ts index 6d8451427..4c101e332 100644 --- a/src/core/blitzkit/provisionDefinitions.ts +++ b/packages/core/src/blitzkit/provisionDefinitions.ts @@ -1,5 +1,5 @@ +import { TankFilterDefinition } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; import { asset } from './asset'; -import { TankFilterDefinition } from './consumableDefinitions'; import { fetchCdonLz4 } from './fetchCdonLz4'; export type ProvisionEntry = { diff --git a/src/core/blitz/resolvePenetrationCoefficient.ts b/packages/core/src/blitzkit/resolvePenetrationCoefficient.ts similarity index 100% rename from src/core/blitz/resolvePenetrationCoefficient.ts rename to packages/core/src/blitzkit/resolvePenetrationCoefficient.ts diff --git a/src/core/blitzkit/reviews.ts b/packages/core/src/blitzkit/reviews.ts similarity index 71% rename from src/core/blitzkit/reviews.ts rename to packages/core/src/blitzkit/reviews.ts index 2dd9f041f..1fd7331cc 100644 --- a/src/core/blitzkit/reviews.ts +++ b/packages/core/src/blitzkit/reviews.ts @@ -1,5 +1,5 @@ -import { decode } from '../protobuf/decode'; import { asset } from '@blitzkit/core/src/blitzkit/asset'; +import { decodeProtobuf } from '../protobuf'; export interface Reviews { reviews: Record; @@ -18,5 +18,9 @@ export interface Video { export const reviews = fetch(asset('definitions/reviews.pb')) .then((response) => response.arrayBuffer()) .then((buffer) => - decode('reviews', 'blitzkit.Reviews', new Uint8Array(buffer)), + decodeProtobuf( + 'reviews', + 'blitzkit.Reviews', + new Uint8Array(buffer), + ), ); diff --git a/src/core/blitzkit/skillDefinitions.ts b/packages/core/src/blitzkit/skillDefinitions.ts similarity index 83% rename from src/core/blitzkit/skillDefinitions.ts rename to packages/core/src/blitzkit/skillDefinitions.ts index f2d6c88ec..89fe65c69 100644 --- a/src/core/blitzkit/skillDefinitions.ts +++ b/packages/core/src/blitzkit/skillDefinitions.ts @@ -1,6 +1,6 @@ -import { TankClass } from '../../components/Tanks'; import { asset } from '@blitzkit/core/src/blitzkit/asset'; import { fetchCdonLz4 } from '@blitzkit/core/src/blitzkit/fetchCdonLz4'; +import { TankClass } from '../../../../src/components/Tanks'; export interface SkillDefinitions { classes: Record; diff --git a/src/core/blitzkit/sum.ts b/packages/core/src/blitzkit/sum.ts similarity index 100% rename from src/core/blitzkit/sum.ts rename to packages/core/src/blitzkit/sum.ts diff --git a/packages/core/src/blitzkit/superCompress.ts b/packages/core/src/blitzkit/superCompress.ts index 45005a8c0..a3524a18c 100644 --- a/packages/core/src/blitzkit/superCompress.ts +++ b/packages/core/src/blitzkit/superCompress.ts @@ -1,5 +1,5 @@ import { compress } from 'lz4js'; -import { CdonWriteStream } from '../../../../src/core/streams/cdon'; +import { CdonWriteStream } from '../streams'; export function superCompress(object: any) { const write = new CdonWriteStream().cdon(object); diff --git a/packages/core/src/blitzkit/superDecompress.ts b/packages/core/src/blitzkit/superDecompress.ts index 48b5722c9..595d75ae0 100644 --- a/packages/core/src/blitzkit/superDecompress.ts +++ b/packages/core/src/blitzkit/superDecompress.ts @@ -1,5 +1,5 @@ import { decompress } from 'lz4js'; -import { CdonReadStream } from '../../../../src/core/streams/cdon'; +import { CdonReadStream } from '../streams'; export function superDecompress(buffer: ArrayBuffer) { const decompressed = decompress(new Uint8Array(buffer)).buffer as ArrayBuffer; diff --git a/src/core/blitzkit/tankCharacteristics.ts b/packages/core/src/blitzkit/tankCharacteristics.ts similarity index 96% rename from src/core/blitzkit/tankCharacteristics.ts rename to packages/core/src/blitzkit/tankCharacteristics.ts index 03c69f1d9..7b3a5b945 100644 --- a/src/core/blitzkit/tankCharacteristics.ts +++ b/packages/core/src/blitzkit/tankCharacteristics.ts @@ -1,15 +1,11 @@ +import { EquipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; import { ModelDefinition } from '@blitzkit/core/src/blitzkit/modelDefinitions'; -import { resolveNearPenetration } from '@blitzkit/core/src/blitzkit/resolveNearPenetration'; -import { EquipmentMatrix } from '../../../packages/website/src/stores/duel'; -import { isExplosive } from '../blitz/isExplosive'; -import { resolvePenetrationCoefficient } from '../blitz/resolvePenetrationCoefficient'; +import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { EquipmentMatrix } from '../../../website/src/stores/duel'; +import { resolveNearPenetration } from '../blitz/resolveNearPenetration'; import { coefficient } from './coefficient'; -import { degressiveStat } from './degressiveStat'; -import { EquipmentDefinitions } from './equipmentDefinitions'; -import { normalizeBoundingBox } from './normalizeBoundingBox'; -import { progressiveStat } from './progressiveStat'; -import { ProvisionDefinitions } from './provisionDefinitions'; -import { resolveDpm } from './resolveDpm'; +import { isExplosive } from './isExplosive'; +import { resolvePenetrationCoefficient } from './resolvePenetrationCoefficient'; import { sum } from './sum'; import { EngineDefinition, @@ -19,7 +15,6 @@ import { TrackDefinition, TurretDefinition, } from './tankDefinitions'; -import { unionBoundingBox } from './unionBoundingBox'; export type TankCharacteristics = ReturnType; diff --git a/src/core/blitzkit/uniqueGuns.ts b/packages/core/src/blitzkit/uniqueGuns.ts similarity index 100% rename from src/core/blitzkit/uniqueGuns.ts rename to packages/core/src/blitzkit/uniqueGuns.ts diff --git a/src/constants/youtubers.ts b/packages/core/src/blitzkit/youtubers.ts similarity index 100% rename from src/constants/youtubers.ts rename to packages/core/src/blitzkit/youtubers.ts diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 47ff4a02a..8ddad0299 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,5 +1,10 @@ export * from './blitz'; export * from './blitzkit'; export * from './imgur'; +export * from './math'; export * from './patreon'; +export * from './protobuf'; +export * from './radix'; +export * from './statistics'; +export * from './streams'; export * from './zustand'; diff --git a/src/core/math/NaNFallback.ts b/packages/core/src/math/NaNFallback.ts similarity index 100% rename from src/core/math/NaNFallback.ts rename to packages/core/src/math/NaNFallback.ts diff --git a/src/constants/axis.ts b/packages/core/src/math/axis.ts similarity index 100% rename from src/constants/axis.ts rename to packages/core/src/math/axis.ts diff --git a/src/core/math/formatCompact.ts b/packages/core/src/math/formatCompact.ts similarity index 100% rename from src/core/math/formatCompact.ts rename to packages/core/src/math/formatCompact.ts diff --git a/packages/core/src/math/index.ts b/packages/core/src/math/index.ts new file mode 100644 index 000000000..bb4a1859b --- /dev/null +++ b/packages/core/src/math/index.ts @@ -0,0 +1,7 @@ +export * from './axis'; +export * from './formatCompact'; +export * from './isNumber'; +export * from './NaNFallback'; +export * from './normalizeAngleRad'; +export * from './normalToEuler'; +export * from './numberToRomanNumeral'; diff --git a/src/core/math/isNumber.ts b/packages/core/src/math/isNumber.ts similarity index 100% rename from src/core/math/isNumber.ts rename to packages/core/src/math/isNumber.ts diff --git a/src/core/math/normalToEuler.ts b/packages/core/src/math/normalToEuler.ts similarity index 88% rename from src/core/math/normalToEuler.ts rename to packages/core/src/math/normalToEuler.ts index b3b005e96..f89d2970c 100644 --- a/src/core/math/normalToEuler.ts +++ b/packages/core/src/math/normalToEuler.ts @@ -1,5 +1,5 @@ import { Euler, Quaternion, Vector3 } from 'three'; -import { J_HAT } from '../../constants/axis'; +import { J_HAT } from './axis'; const quaternion = new Quaternion(); const axis = new Vector3(); diff --git a/src/core/math/normalizeAngleRad.ts b/packages/core/src/math/normalizeAngleRad.ts similarity index 100% rename from src/core/math/normalizeAngleRad.ts rename to packages/core/src/math/normalizeAngleRad.ts diff --git a/src/core/math/numberToRomanNumeral.ts b/packages/core/src/math/numberToRomanNumeral.ts similarity index 100% rename from src/core/math/numberToRomanNumeral.ts rename to packages/core/src/math/numberToRomanNumeral.ts diff --git a/packages/core/src/protobuf/decodeProtobuf.ts b/packages/core/src/protobuf/decodeProtobuf.ts new file mode 100644 index 000000000..b811f48ca --- /dev/null +++ b/packages/core/src/protobuf/decodeProtobuf.ts @@ -0,0 +1,9 @@ +import { lookupProtobufType, ProtoSource } from './lookupProtobufType'; + +export function decodeProtobuf( + source: ProtoSource, + type: string, + data: Uint8Array, +) { + return lookupProtobufType(source, type).decode(data).toJSON() as Type; +} diff --git a/src/core/protobuf/encode.ts b/packages/core/src/protobuf/encodeProtobuf.ts similarity index 60% rename from src/core/protobuf/encode.ts rename to packages/core/src/protobuf/encodeProtobuf.ts index 877d1e125..66893b3d7 100644 --- a/src/core/protobuf/encode.ts +++ b/packages/core/src/protobuf/encodeProtobuf.ts @@ -1,11 +1,11 @@ -import { lookup, ProtoSource } from './lookup'; +import { lookupProtobufType, ProtoSource } from './lookupProtobufType'; -export function encode( +export function encodeProtobuf( source: ProtoSource, type: string, data: Record, ) { - const message = lookup(source, type); + const message = lookupProtobufType(source, type); const verification = message.verify(data); if (verification !== null) throw new Error(verification); diff --git a/packages/core/src/protobuf/encodeProtobufToBase64.ts b/packages/core/src/protobuf/encodeProtobufToBase64.ts new file mode 100644 index 000000000..2402a3934 --- /dev/null +++ b/packages/core/src/protobuf/encodeProtobufToBase64.ts @@ -0,0 +1,11 @@ +import { encodeProtobuf } from './encodeProtobuf'; +import { ProtoSource } from './lookupProtobufType'; + +export async function encodeProtobufToBase64( + source: ProtoSource, + type: string, + data: any, +) { + const array = encodeProtobuf(source, type, data); + return Buffer.from(array).toString('base64'); +} diff --git a/packages/core/src/protobuf/index.ts b/packages/core/src/protobuf/index.ts new file mode 100644 index 000000000..94ecff4d2 --- /dev/null +++ b/packages/core/src/protobuf/index.ts @@ -0,0 +1,4 @@ +export * from './decodeProtobuf'; +export * from './encodeProtobuf'; +export * from './encodeProtobufToBase64'; +export * from './lookupProtobufType'; diff --git a/packages/core/src/protobuf/lookupProtobufType.ts b/packages/core/src/protobuf/lookupProtobufType.ts new file mode 100644 index 000000000..79264852a --- /dev/null +++ b/packages/core/src/protobuf/lookupProtobufType.ts @@ -0,0 +1,11 @@ +import { parse } from 'protobufjs'; +import average_definitions from '../../protos/average_definitions.proto'; +import reviews from '../../protos/reviews.proto'; + +export type ProtoSource = keyof typeof protos; + +const protos = { reviews, average_definitions }; + +export function lookupProtobufType(source: ProtoSource, type: string) { + return parse(protos[source]).root.lookupType(type); +} diff --git a/packages/core/src/radix/index.ts b/packages/core/src/radix/index.ts new file mode 100644 index 000000000..140c957db --- /dev/null +++ b/packages/core/src/radix/index.ts @@ -0,0 +1 @@ +export * from './var'; diff --git a/src/core/blitzkit/var.ts b/packages/core/src/radix/var.ts similarity index 100% rename from src/core/blitzkit/var.ts rename to packages/core/src/radix/var.ts diff --git a/src/core/statistics/calculateWN8.ts b/packages/core/src/statistics/calculateWN8.ts similarity index 100% rename from src/core/statistics/calculateWN8.ts rename to packages/core/src/statistics/calculateWN8.ts diff --git a/src/core/statistics/compositeStats/constants.ts b/packages/core/src/statistics/compositeStats/constants.ts similarity index 100% rename from src/core/statistics/compositeStats/constants.ts rename to packages/core/src/statistics/compositeStats/constants.ts diff --git a/src/core/statistics/compositeStats/index.ts b/packages/core/src/statistics/compositeStats/index.ts similarity index 93% rename from src/core/statistics/compositeStats/index.ts rename to packages/core/src/statistics/compositeStats/index.ts index 58f7d0d5e..acb13f8fb 100644 --- a/src/core/statistics/compositeStats/index.ts +++ b/packages/core/src/statistics/compositeStats/index.ts @@ -52,10 +52,16 @@ export function compositeStats(stats: BlitzkitStats, average: BlitzkitStats) { export function formatCompositeStat(value: number, key: CompositeStatsKey) { const formatting = compositeStatsFormatting[key]; const resolvedValue = (formatting.coefficient ?? 1) * value; - return `${formatting.localeFormat ? resolvedValue.toLocaleString() : resolvedValue.toFixed(formatting.fixed)}${formatting.unit ?? ''}`; + return `${ + formatting.localeFormat + ? resolvedValue.toLocaleString() + : resolvedValue.toFixed(formatting.fixed) + }${formatting.unit ?? ''}`; } export function previewCompositeStat(key: CompositeStatsKey) { const { preview } = compositeStatsFormatting[key]; return formatCompositeStat(preview, key); } + +export * from './constants'; diff --git a/src/core/statistics/deltaBkrlBlitzStats.ts b/packages/core/src/statistics/deltaBkrlBlitzStats.ts similarity index 100% rename from src/core/statistics/deltaBkrlBlitzStats.ts rename to packages/core/src/statistics/deltaBkrlBlitzStats.ts diff --git a/src/core/statistics/deltaTankStats.ts b/packages/core/src/statistics/deltaTankStats.ts similarity index 94% rename from src/core/statistics/deltaTankStats.ts rename to packages/core/src/statistics/deltaTankStats.ts index efb5b6aa9..30bd8d3a6 100644 --- a/src/core/statistics/deltaTankStats.ts +++ b/packages/core/src/statistics/deltaTankStats.ts @@ -1,8 +1,3 @@ -import { - emptyIndividualTankStats, - IndividualTankStats, -} from '../../types/tanksStats'; - export function deltaTankStats( tanksA: IndividualTankStats[], tanksB: IndividualTankStats[], diff --git a/src/core/statistics/filterStats.ts b/packages/core/src/statistics/filterStats.ts similarity index 91% rename from src/core/statistics/filterStats.ts rename to packages/core/src/statistics/filterStats.ts index 604254928..f5f73a1c1 100644 --- a/src/core/statistics/filterStats.ts +++ b/packages/core/src/statistics/filterStats.ts @@ -1,8 +1,4 @@ -import { TreeType } from '../../components/Tanks'; -import { SupplementaryStats } from '../blitz/getAccountInfo'; import { tankDefinitions } from '../blitzkit/tankDefinitions'; -import { DiffedTankStats } from '../blitzstars/getStatsInPeriod'; -import { tankAverages } from '../blitzstars/tankAverages'; import calculateWN8 from './calculateWN8'; import sumStats from './sumStats'; diff --git a/src/core/statistics/getBkniPercentile.ts b/packages/core/src/statistics/getBkniPercentile.ts similarity index 100% rename from src/core/statistics/getBkniPercentile.ts rename to packages/core/src/statistics/getBkniPercentile.ts diff --git a/src/core/statistics/getTierWeights.ts b/packages/core/src/statistics/getTierWeights.ts similarity index 100% rename from src/core/statistics/getTierWeights.ts rename to packages/core/src/statistics/getTierWeights.ts diff --git a/src/core/statistics/getWN8Percentile.ts b/packages/core/src/statistics/getWN8Percentile.ts similarity index 90% rename from src/core/statistics/getWN8Percentile.ts rename to packages/core/src/statistics/getWN8Percentile.ts index d73538d33..1fbfa91fc 100644 --- a/src/core/statistics/getWN8Percentile.ts +++ b/packages/core/src/statistics/getWN8Percentile.ts @@ -1,4 +1,4 @@ -import { Percentile } from '../../constants/percentiles'; +import { Percentile } from './percentiles'; const WN8_PERCENTILES: [number, Percentile][] = [ [0, Percentile.VeryBad], diff --git a/packages/core/src/statistics/index.ts b/packages/core/src/statistics/index.ts new file mode 100644 index 000000000..8a80f7e59 --- /dev/null +++ b/packages/core/src/statistics/index.ts @@ -0,0 +1,10 @@ +export * from './calculateWN8'; +export * from './compositeStats'; +export * from './deltaBkrlBlitzStats'; +export * from './deltaTankStats'; +export * from './filterStats'; +export * from './getBkniPercentile'; +export * from './getTierWeights'; +export * from './getWN8Percentile'; +export * from './percentiles'; +export * from './sumStats'; diff --git a/src/constants/percentiles.ts b/packages/core/src/statistics/percentiles.ts similarity index 100% rename from src/constants/percentiles.ts rename to packages/core/src/statistics/percentiles.ts diff --git a/src/core/statistics/sumStats.ts b/packages/core/src/statistics/sumStats.ts similarity index 94% rename from src/core/statistics/sumStats.ts rename to packages/core/src/statistics/sumStats.ts index baab5aff9..f95278794 100644 --- a/src/core/statistics/sumStats.ts +++ b/packages/core/src/statistics/sumStats.ts @@ -1,4 +1,3 @@ -import { emptyAllStats } from '../blitzstars/getStatsInPeriod/constants'; import { BlitzStats } from './compositeStats/constants'; export default function sumStats(allStatsCollection: BlitzStats[]) { diff --git a/src/core/streams/bkrl.ts b/packages/core/src/streams/bkrl.ts similarity index 100% rename from src/core/streams/bkrl.ts rename to packages/core/src/streams/bkrl.ts diff --git a/src/core/streams/buffer.ts b/packages/core/src/streams/buffer.ts similarity index 100% rename from src/core/streams/buffer.ts rename to packages/core/src/streams/buffer.ts diff --git a/src/core/streams/cdon.ts b/packages/core/src/streams/cdon.ts similarity index 100% rename from src/core/streams/cdon.ts rename to packages/core/src/streams/cdon.ts diff --git a/src/core/streams/dds.ts b/packages/core/src/streams/dds.ts similarity index 100% rename from src/core/streams/dds.ts rename to packages/core/src/streams/dds.ts diff --git a/src/core/streams/dids.ts b/packages/core/src/streams/dids.ts similarity index 100% rename from src/core/streams/dids.ts rename to packages/core/src/streams/dids.ts diff --git a/packages/core/src/streams/index.ts b/packages/core/src/streams/index.ts new file mode 100644 index 000000000..a16292c7c --- /dev/null +++ b/packages/core/src/streams/index.ts @@ -0,0 +1,11 @@ +export * from './bkrl'; +export * from './buffer'; +export * from './cdon'; +export * from './dds'; +export * from './dids'; +export * from './pvr'; +export * from './rts'; +export * from './sc2'; +export * from './scg'; +export * from './scpg'; +export * from './windows'; diff --git a/src/core/streams/pvr.ts b/packages/core/src/streams/pvr.ts similarity index 100% rename from src/core/streams/pvr.ts rename to packages/core/src/streams/pvr.ts diff --git a/src/core/streams/rts.ts b/packages/core/src/streams/rts.ts similarity index 100% rename from src/core/streams/rts.ts rename to packages/core/src/streams/rts.ts diff --git a/src/core/streams/sc2.ts b/packages/core/src/streams/sc2.ts similarity index 100% rename from src/core/streams/sc2.ts rename to packages/core/src/streams/sc2.ts diff --git a/src/core/streams/scg.ts b/packages/core/src/streams/scg.ts similarity index 100% rename from src/core/streams/scg.ts rename to packages/core/src/streams/scg.ts diff --git a/src/core/streams/scpg.ts b/packages/core/src/streams/scpg.ts similarity index 100% rename from src/core/streams/scpg.ts rename to packages/core/src/streams/scpg.ts diff --git a/src/core/streams/windows.ts b/packages/core/src/streams/windows.ts similarity index 100% rename from src/core/streams/windows.ts rename to packages/core/src/streams/windows.ts diff --git a/packages/core/src/zustand/createNextSafeStore.tsx b/packages/core/src/zustand/createNextSafeStore.tsx index fed7d3a5e..0e0337487 100644 --- a/packages/core/src/zustand/createNextSafeStore.tsx +++ b/packages/core/src/zustand/createNextSafeStore.tsx @@ -1,3 +1,6 @@ +// MIGRATION TODO: i added this use client, it makes stuff work again? +'use client'; + import { Draft, produce } from 'immer'; import { createContext, diff --git a/packages/website/src/app/tools/compare/components/CompareTable.tsx b/packages/website/src/app/tools/compare/components/CompareTable.tsx index 155f76003..8b9aa6401 100644 --- a/packages/website/src/app/tools/compare/components/CompareTable.tsx +++ b/packages/website/src/app/tools/compare/components/CompareTable.tsx @@ -1,3 +1,4 @@ +import { permanentSkills } from '@blitzkit/core/src/blitz/permanentSkills'; import { ComponentPlaceholderIcon } from '@radix-ui/react-icons'; import { Button, Flex, Popover, Slider, Table, Text } from '@radix-ui/themes'; import { debounce, times } from 'lodash'; @@ -21,7 +22,6 @@ import { BlitzkitButtonGray } from '../../../../icons/BlitzkitButtonGray'; import { theme } from '../../../../stitches.config'; import * as CompareEphemeral from '../../../../stores/compareEphemeral'; import { EquipmentMatrix } from '../../../../stores/duel'; -import { permanentSkills } from '../../tankopedia/[id]/components/Characteristics/components/Skills/constants'; import { Body } from './Body'; import { InsertionMarker } from './IntersectionMarker'; import { TankCard } from './TankCard'; @@ -101,8 +101,8 @@ export function CompareTable({ stats }: CompareTableProps) { crewSkills[skill] === 0 ? theme.colors.textLowContrast : permanentSkills.includes(skill) - ? theme.colors.textLowContrast_crimson - : theme.colors.textLowContrast_amber, + ? theme.colors.textLowContrast_crimson + : theme.colors.textLowContrast_amber, }} /> ))} diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Consumables.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Consumables.tsx index 52e63878c..11f4ebebc 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Consumables.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Consumables.tsx @@ -1,3 +1,7 @@ +import { + checkConsumableProvisionInclusivity, + consumableDefinitions, +} from '@blitzkit/core'; import { InfoCircledIcon } from '@radix-ui/react-icons'; import { Button, @@ -9,8 +13,6 @@ import { } from '@radix-ui/themes'; import { use } from 'react'; import { ConsumablesManager } from '../../../../../../../components/ConsumablesManager'; -import { checkConsumableProvisionInclusivity } from '../../../../../../../core/blitzkit/checkConsumableProvisionInclusivity'; -import { consumableDefinitions } from '../../../../../../../core/blitzkit/consumableDefinitions'; import { useEquipment } from '../../../../../../../hooks/useEquipment'; import * as Duel from '../../../../../../../stores/duel'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Equipment.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Equipment.tsx index 410214b55..8caca6b49 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Equipment.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Equipment.tsx @@ -1,7 +1,7 @@ +import { equipmentDefinitions } from '@blitzkit/core'; import { Button, Flex, Heading } from '@radix-ui/themes'; import { use } from 'react'; import { EquipmentManager } from '../../../../../../../components/EquipmentManager'; -import { equipmentDefinitions } from '../../../../../../../core/blitzkit/equipmentDefinitions'; import * as Duel from '../../../../../../../stores/duel'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Info.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Info.tsx index b07b0ae84..82a1c767a 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Info.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Info.tsx @@ -1,14 +1,12 @@ import { CaretDownIcon, CaretUpIcon } from '@radix-ui/react-icons'; import { Flex, Text } from '@radix-ui/themes'; import { ReactNode } from 'react'; -import { theme } from '../../../../../../../stitches.config'; export interface InfoProps { name: ReactNode; children?: ReactNode; unit?: string; indent?: boolean; - highlight?: boolean; delta?: number; decimals?: number; prefix?: string; @@ -20,7 +18,6 @@ export function Info({ children, unit, indent = false, - highlight, delta, decimals, prefix, @@ -32,7 +29,7 @@ export function Info({ style={{ width: '100%', paddingLeft: indent ? 24 : 0 }} gap="4" > - + {name} {unit != undefined && ( <> @@ -49,9 +46,7 @@ export function Info({ style={{ flex: 1, height: 1, - backgroundColor: highlight - ? theme.colors.componentCallToActionInteractive_amberAlpha - : theme.colors.componentCallToActionInteractive_alpha, + backgroundColor: 'red', }} /> )} @@ -82,7 +77,7 @@ export function Info({ )} - + {prefix} {decimals !== undefined && typeof children === 'number' ? children.toFixed(decimals) diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Miscellaneous.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Miscellaneous.tsx index 2713ba63d..661bc62c9 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Miscellaneous.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Miscellaneous.tsx @@ -1,8 +1,8 @@ +import { asset } from '@blitzkit/core'; import { Flex, Heading, Slider, TextField } from '@radix-ui/themes'; import { clamp, debounce } from 'lodash'; import { useEffect, useMemo, useRef, useState } from 'react'; import { GenericTankComponentButton } from '../../../../../../../components/ModuleButtons/GenericTankComponentButton'; -import { asset } from '../../../../../../../core/blitzkit/asset'; import * as Duel from '../../../../../../../stores/duel'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; @@ -61,10 +61,10 @@ export function Miscellaneous() { cooldownBooster === 0 ? undefined : cooldownBooster === 1 - ? '#afb0abc0' - : cooldownBooster === 2 - ? '#5f72cbc0' - : '#9b3cc0c0' + ? '#afb0abc0' + : cooldownBooster === 2 + ? '#5f72cbc0' + : '#9b3cc0c0' } iconStyles={{ transform: 'translate(-50%, -50%) scale(0.8)', diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Modules.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Modules.tsx index 3d566aa11..ce47d9c24 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Modules.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Modules.tsx @@ -1,3 +1,10 @@ +import { + asset, + formatCompact, + tankDefinitions, + tankIcon, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; import { Button, ChevronDownIcon, @@ -8,18 +15,6 @@ import { Text, } from '@radix-ui/themes'; import { use } from 'react'; -import { asset } from '../../../../../../../core/blitzkit/asset'; -import { - ModuleDefinition, - ModuleType, - TankDefinition, - tankDefinitions, - Tier, - Unlock, -} from '../../../../../../../core/blitzkit/tankDefinitions'; -import { TIER_ROMAN_NUMERALS } from '../../../../../../../core/blitzkit/tankDefinitions/constants'; -import { tankIcon } from '../../../../../../../core/blitzkit/tankIcon'; -import { formatCompact } from '../../../../../../../core/math/formatCompact'; import * as Duel from '../../../../../../../stores/duel'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; @@ -222,7 +217,9 @@ export function Modules() {
setByUnlock(unlock)} /> diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Provisions.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Provisions.tsx index 60c8a4d5e..1a1432b1a 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Provisions.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Provisions.tsx @@ -1,8 +1,7 @@ +import { availableProvisions, provisionDefinitions } from '@blitzkit/core'; import { Button, Flex, Heading } from '@radix-ui/themes'; import { use } from 'react'; import { ProvisionsManager } from '../../../../../../../components/ProvisionsManager'; -import { availableProvisions } from '../../../../../../../core/blitzkit/availableProvisions'; -import { provisionDefinitions } from '../../../../../../../core/blitzkit/provisionDefinitions'; import * as Duel from '../../../../../../../stores/duel'; import { ConfigurationChildWrapper } from './ConfigurationChildWrapper'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/index.tsx index 221ae76e9..509328d28 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/components/Skills/index.tsx @@ -1,3 +1,4 @@ +import { createDefaultSkills, skillDefinitions } from '@blitzkit/core'; import { InfoCircledIcon } from '@radix-ui/react-icons'; import { Button, @@ -10,8 +11,6 @@ import { } from '@radix-ui/themes'; import { use } from 'react'; import { CrewSkillManager } from '../../../../../../../../components/CrewSkillManager'; -import { createDefaultSkills } from '../../../../../../../../core/blitzkit/createDefaultSkills'; -import { skillDefinitions } from '../../../../../../../../core/blitzkit/skillDefinitions'; import * as TankopediaEphemeral from '../../../../../../../../stores/tankopediaEphemeral'; import { ConfigurationChildWrapper } from '../ConfigurationChildWrapper'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx index ea4f440bb..728734372 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx @@ -1,3 +1,14 @@ +import { + asset, + coefficient, + CREW_MEMBER_NAMES, + equipmentDefinitions, + GUN_TYPE_NAMES, + isExplosive, + provisionDefinitions, + resolvePenetrationCoefficient, + tankCharacteristics, +} from '@blitzkit/core'; import { AccessibilityIcon, InfoCircledIcon } from '@radix-ui/react-icons'; import { Flex, @@ -13,18 +24,6 @@ import { debounce } from 'lodash'; import { Fragment, use, useEffect, useRef, useState } from 'react'; import { lerp } from 'three/src/math/MathUtils'; import { Ad, AdType } from '../../../../../../components/Ad'; -import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawLimits'; -import { isExplosive } from '../../../../../../core/blitz/isExplosive'; -import { resolvePenetrationCoefficient } from '../../../../../../core/blitz/resolvePenetrationCoefficient'; -import { asset } from '../../../../../../core/blitzkit/asset'; -import { coefficient } from '../../../../../../core/blitzkit/coefficient'; -import { equipmentDefinitions } from '../../../../../../core/blitzkit/equipmentDefinitions'; -import { provisionDefinitions } from '../../../../../../core/blitzkit/provisionDefinitions'; -import { tankCharacteristics } from '../../../../../../core/blitzkit/tankCharacteristics'; -import { - CREW_MEMBER_NAMES, - GUN_TYPE_NAMES, -} from '../../../../../../core/blitzkit/tankDefinitions/constants'; import { useAdExempt } from '../../../../../../hooks/useAdExempt'; import { useEquipment } from '../../../../../../hooks/useEquipment'; import { useTankModelDefinition } from '../../../../../../hooks/useTankModelDefinition'; @@ -463,7 +462,9 @@ export function Characteristics() { 1 ? ` x ${count}` : ''}`} + name={`${CREW_MEMBER_NAMES[member.type]}${ + count > 1 ? ` x ${count}` : '' + }`} unit="%" decimals={0} > diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Control.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Control.tsx index 5eaa28946..c92f61c5c 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Control.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Control.tsx @@ -1,12 +1,9 @@ +import { Pose } from '@blitzkit/core'; import { OrbitControls } from '@react-three/drei'; import { useThree } from '@react-three/fiber'; import { useEffect, useRef, useState } from 'react'; import { Vector3 } from 'three'; import { OrbitControls as OrbitControlsClass } from 'three-stdlib'; -import { applyPitchYawLimits } from '../../../../../core/blitz/applyPitchYawLimits'; -import { hasEquipment } from '../../../../../core/blitzkit/hasEquipment'; -import { modelDefinitions } from '../../../../../core/blitzkit/modelDefinitions'; -import { Pose, poseEvent } from '../../../../../core/blitzkit/pose'; import { useAwait } from '../../../../../hooks/useAwait'; import * as Duel from '../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/GameModeSection.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/GameModeSection.tsx index 5ac66a431..adfbe125c 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/GameModeSection.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/GameModeSection.tsx @@ -1,9 +1,11 @@ +import { + asset, + consumableDefinitions, + gameDefinitions, + provisionDefinitions, +} from '@blitzkit/core'; import { Box, Flex, Heading, Text } from '@radix-ui/themes'; import { use } from 'react'; -import { asset } from '../../../../../../core/blitzkit/asset'; -import { consumableDefinitions } from '../../../../../../core/blitzkit/consumableDefinitions'; -import { gameDefinitions } from '../../../../../../core/blitzkit/gameDefinitions'; -import { provisionDefinitions } from '../../../../../../core/blitzkit/provisionDefinitions'; import * as Duel from '../../../../../../stores/duel'; export function GameModeSection() { @@ -33,7 +35,9 @@ export function GameModeSection() { direction="column" style={{ borderRadius: 'var(--radius-3)', - background: `url(${asset(`icons/game_mode_banners/${id}.webp`)})`, + background: `url(${asset( + `icons/game_mode_banners/${id}.webp`, + )})`, backgroundSize: 'cover', backgroundPosition: 'center', }} @@ -41,7 +45,9 @@ export function GameModeSection() { { const entries = Object.values(awaitedTankDefinitions); diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/index.tsx index 9e64f8499..08c01a629 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/index.tsx @@ -1,15 +1,16 @@ +import { + assertSecret, + asset, + modelDefinitions, + provisionDefinitions, +} from '@blitzkit/core'; +import strings from '@blitzkit/core/lang/en-US.json'; import { ChevronLeftIcon, MixIcon, UpdateIcon } from '@radix-ui/react-icons'; import { Button, Code, Dialog, Flex } from '@radix-ui/themes'; import { use, useState } from 'react'; import { classIcons } from '../../../../../../../components/ClassIcon'; import { Link } from '../../../../../../../components/Link'; import { ScienceIcon } from '../../../../../../../components/ScienceIcon'; -import { asset } from '../../../../../../../core/blitzkit/asset'; -import { modelDefinitions } from '../../../../../../../core/blitzkit/modelDefinitions'; -import { provisionDefinitions } from '../../../../../../../core/blitzkit/provisionDefinitions'; -import { assertSecret } from '../../../../../../../core/blitzkit/secret'; -import { tankToDuelMember } from '../../../../../../../core/blitzkit/tankToDuelMember'; -import strings from '../../../../../../../lang/en-US.json'; import * as App from '../../../../../../../stores/app'; import * as Duel from '../../../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../../../stores/tankopediaEphemeral'; @@ -132,8 +133,8 @@ export function MetaSection() { protagonist.treeType === 'collector' ? 'blue' : protagonist.treeType === 'premium' - ? 'amber' - : undefined + ? 'amber' + : undefined } > {strings.common.tree_type[protagonist.treeType]} @@ -159,7 +160,11 @@ export function MetaSection() { )} {protagonist.price.value.toLocaleString()} @@ -167,7 +172,9 @@ export function MetaSection() { style={{ width: '1em', height: '1em' }} alt={protagonist.price.type} src={asset( - `icons/currencies/${protagonist.price.type === 'gold' ? 'gold' : 'silver'}.webp`, + `icons/currencies/${ + protagonist.price.type === 'gold' ? 'gold' : 'silver' + }.webp`, )} /> @@ -179,7 +186,9 @@ export function MetaSection() { style={{ width: '1em', height: '1em' }} alt={protagonist.price.type} src={asset( - `icons/currencies/${protagonist.price.type === 'gold' ? 'gold' : 'silver'}.webp`, + `icons/currencies/${ + protagonist.price.type === 'gold' ? 'gold' : 'silver' + }.webp`, )} /> diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx index 9883c309b..dbbaf08d6 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx @@ -9,13 +9,7 @@ import { import { Armor } from '../../../../../../components/Armor'; import { ArmorPlateDisplay } from '../../../../../../components/Armor/components/ArmorPlateDisplay'; import { ShotDisplay } from '../../../../../../components/Armor/components/ShotDisplay'; -import { - StaticArmor, - ThicknessRange, -} from '../../../../../../components/Armor/components/StaticArmor'; -import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawLimits'; -import { modelTransformEvent } from '../../../../../../core/blitzkit/modelTransform'; -import { Pose, poseEvent } from '../../../../../../core/blitzkit/pose'; +import { StaticArmor } from '../../../../../../components/Armor/components/StaticArmor'; import { useEquipment } from '../../../../../../hooks/useEquipment'; import useOnScreen from '../../../../../../hooks/useOnScreen'; import { useTankModelDefinition } from '../../../../../../hooks/useTankModelDefinition'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandboxLoader.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandboxLoader.tsx index a2fee08da..87849429f 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandboxLoader.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandboxLoader.tsx @@ -1,6 +1,6 @@ +import { tankIcon } from '@blitzkit/core'; import { Flex, FlexProps, Progress } from '@radix-ui/themes'; import { useProgress } from '@react-three/drei'; -import { tankIcon } from '../../../../../../core/blitzkit/tankIcon'; type TankSandboxLoaderProps = Omit & { id: number; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/components/Node.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/components/Node.tsx index 8dade4fd4..e430dc12c 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/components/Node.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/components/Node.tsx @@ -1,11 +1,13 @@ +import { + asset, + averageDefinitions, + formatCompact, + tankDefinitions, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; import { Box, Flex, Text } from '@radix-ui/themes'; import Link from 'next/link'; import { use } from 'react'; -import { asset } from '../../../../../../../../core/blitzkit/asset'; -import { averageDefinitions } from '../../../../../../../../core/blitzkit/averageDefinitions'; -import { tankDefinitions } from '../../../../../../../../core/blitzkit/tankDefinitions'; -import { TIER_ROMAN_NUMERALS } from '../../../../../../../../core/blitzkit/tankDefinitions/constants'; -import { formatCompact } from '../../../../../../../../core/math/formatCompact'; import * as TankopediaEphemeral from '../../../../../../../../stores/tankopediaEphemeral'; interface NodeProps { diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/index.tsx index e8dbcdad4..9991f4776 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TechTreeSection/index.tsx @@ -1,9 +1,7 @@ +import { asset, imgur, tankDefinitions } from '@blitzkit/core'; import { CaretLeftIcon, CaretRightIcon, PlusIcon } from '@radix-ui/react-icons'; import { Flex, Heading, IconButton, ScrollArea, Text } from '@radix-ui/themes'; import { Fragment, use, useEffect, useMemo, useRef, useState } from 'react'; -import { asset } from '../../../../../../../core/blitzkit/asset'; -import { imgur } from '../../../../../../../core/blitzkit/imgur'; -import { tankDefinitions } from '../../../../../../../core/blitzkit/tankDefinitions'; import * as Duel from '../../../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../../../stores/tankopediaEphemeral'; import { Arrow } from './components/Arrow'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/components/DynamicArmorSwitcher.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/components/DynamicArmorSwitcher.tsx index a78c31a88..5a9bfc9c6 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/components/DynamicArmorSwitcher.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/components/DynamicArmorSwitcher.tsx @@ -1,6 +1,5 @@ import { IconButton } from '@radix-ui/themes'; import { invalidate } from '@react-three/fiber'; -import { asset } from '../../../../../../../../../core/blitzkit/asset'; import { useArmor } from '../../../../../../../../../hooks/useArmor'; import * as Duel from '../../../../../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/index.tsx index aeb7470ae..d9f83fb46 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/Options/index.tsx @@ -1,3 +1,4 @@ +import { imgur, uniqueGuns } from '@blitzkit/core'; import { CameraIcon, CopyIcon, @@ -21,17 +22,6 @@ import { } from '@radix-ui/themes'; import { invalidate } from '@react-three/fiber'; import { RefObject, useEffect, useState } from 'react'; -import { ThicknessRange } from '../../../../../../../../components/Armor/components/StaticArmor'; -import { ModuleButton } from '../../../../../../../../components/ModuleButtons/ModuleButton'; -import { SmallTankIcon } from '../../../../../../../../components/SmallTankIcon'; -import { resolveNearPenetration } from '../../../../../../../../core/blitz/resolveNearPenetration'; -import { resolvePenetrationCoefficient } from '../../../../../../../../core/blitz/resolvePenetrationCoefficient'; -import { asset } from '../../../../../../../../core/blitzkit/asset'; -import { imgur } from '../../../../../../../../core/blitzkit/imgur'; -import { Pose, poseEvent } from '../../../../../../../../core/blitzkit/pose'; -import { TIER_ROMAN_NUMERALS } from '../../../../../../../../core/blitzkit/tankDefinitions/constants'; -import { uniqueGuns } from '../../../../../../../../core/blitzkit/uniqueGuns'; -import { useArmor } from '../../../../../../../../hooks/useArmor'; import { useEquipment } from '../../../../../../../../hooks/useEquipment'; import { useFullScreen } from '../../../../../../../../hooks/useFullScreen'; import { useFullscreenAvailability } from '../../../../../../../../hooks/useFullscreenAvailability'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/TankModel.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/TankModel.tsx index 8d2ee93a6..6273816e0 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/TankModel.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/components/TankModel.tsx @@ -1,12 +1,6 @@ import { invalidate, ThreeEvent, useThree } from '@react-three/fiber'; import { memo, useRef } from 'react'; import { Group, Mesh, MeshStandardMaterial, Vector2 } from 'three'; -import { ModelTankWrapper } from '../../../../../../../components/Armor/components/ModelTankWrapper'; -import { applyPitchYawLimits } from '../../../../../../../core/blitz/applyPitchYawLimits'; -import { hasEquipment } from '../../../../../../../core/blitzkit/hasEquipment'; -import { jsxTree } from '../../../../../../../core/blitzkit/jsxTree'; -import { modelTransformEvent } from '../../../../../../../core/blitzkit/modelTransform'; -import { normalizeAngleRad } from '../../../../../../../core/math/normalizeAngleRad'; import { useModel } from '../../../../../../../hooks/useModel'; import { useTankModelDefinition } from '../../../../../../../hooks/useTankModelDefinition'; import { useTankTransform } from '../../../../../../../hooks/useTankTransform'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/QuickInputs/index.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/QuickInputs/index.tsx index 928468077..c1bd067c4 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/QuickInputs/index.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/QuickInputs/index.tsx @@ -1,12 +1,8 @@ +import { modelTransformEvent, ModelTransformEventData } from '@blitzkit/core'; import { HeightIcon, WidthIcon } from '@radix-ui/react-icons'; import { Flex, TextField } from '@radix-ui/themes'; import { useEffect, useRef } from 'react'; import { degToRad, radToDeg } from 'three/src/math/MathUtils'; -import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawLimits'; -import { - modelTransformEvent, - ModelTransformEventData, -} from '../../../../../../core/blitzkit/modelTransform'; import { useEquipment } from '../../../../../../hooks/useEquipment'; import { useTankModelDefinition } from '../../../../../../hooks/useTankModelDefinition'; import * as Duel from '../../../../../../stores/duel'; @@ -23,11 +19,6 @@ export function QuickInputs() { const gunModelDefinition = turretModelDefinition.guns[protagonist.gun.id]; const initialGunPitch = tankModelDefinition.turretRotation?.pitch ?? 0; const hasImprovedVerticalStabilizer = useEquipment(122); - const antagonist = Duel.use((state) => state.antagonist.tank); - const compareTanks = - protagonist.tank.id === antagonist.id - ? [protagonist.tank.id] - : [protagonist.tank.id, antagonist.id]; useEffect(() => { yawInput.current!.value = radToDeg(protagonist.yaw).toFixed(1); diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/ShotDisplaySection.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/ShotDisplaySection.tsx index 07418e0f6..abad1ac6f 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/ShotDisplaySection.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/ShotDisplaySection.tsx @@ -1,5 +1,4 @@ import { Flex } from '@radix-ui/themes'; -import { ShotDisplayCard } from '../../../../../components/Armor/components/ShotDisplayCard'; import * as TankEphemeral from '../../../../../stores/tankopediaEphemeral'; export function ShotDisplaySection() { diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx index ab161213a..c915e7d6f 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx @@ -1,11 +1,9 @@ +import { reviews, Var, youtubers } from '@blitzkit/core'; import { Box, Flex, Heading, Text } from '@radix-ui/themes'; import { use } from 'react'; import { Link } from '../../../../../components/Link'; import PageWrapper from '../../../../../components/PageWrapper'; import { VerifiedIcon } from '../../../../../components/VerifiedIcon'; -import { youtubers } from '../../../../../constants/youtubers'; -import { reviews } from '../../../../../core/blitzkit/reviews'; -import { Var } from '../../../../../core/blitzkit/var'; import * as Duel from '../../../../../stores/duel'; export function VideoSection() { diff --git a/packages/website/src/app/tools/tankopedia/[id]/layout.tsx b/packages/website/src/app/tools/tankopedia/[id]/layout.tsx index 7be08f24b..68acdf667 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/layout.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/layout.tsx @@ -1,10 +1,12 @@ +import { + modelDefinitions, + provisionDefinitions, + tankDefinitions, + tankIcon, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; +import strings from '@blitzkit/core/lang/en-US.json'; import { ReactNode } from 'react'; -import { modelDefinitions } from '../../../../core/blitzkit/modelDefinitions'; -import { provisionDefinitions } from '../../../../core/blitzkit/provisionDefinitions'; -import { tankDefinitions } from '../../../../core/blitzkit/tankDefinitions'; -import { TIER_ROMAN_NUMERALS } from '../../../../core/blitzkit/tankDefinitions/constants'; -import { tankIcon } from '../../../../core/blitzkit/tankIcon'; -import strings from '../../../../lang/en-US.json'; import * as Duel from '../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/page.tsx b/packages/website/src/app/tools/tankopedia/[id]/page.tsx index 313b2ed26..882f6403f 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/page.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/page.tsx @@ -1,12 +1,12 @@ 'use client'; +import { TIER_ROMAN_NUMERALS } from '@blitzkit/core'; +import strings from '@blitzkit/core/lang/en-US.json'; import { invalidate } from '@react-three/fiber'; import { useEffect } from 'react'; import { AdMidSectionResponsive } from '../../../../components/AdMidSectionResponsive'; import PageWrapper from '../../../../components/PageWrapper'; -import { TIER_ROMAN_NUMERALS } from '../../../../core/blitzkit/tankDefinitions/constants'; import { useAdExempt } from '../../../../hooks/useAdExempt'; -import strings from '../../../../lang/en-US.json'; import * as Duel from '../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../stores/tankopediaEphemeral'; import { CalloutsSection } from './components/CalloutsSection'; diff --git a/src/components/Armor/components/ArmorPlateDisplay.tsx b/packages/website/src/components/Armor/components/ArmorPlateDisplay.tsx similarity index 95% rename from src/components/Armor/components/ArmorPlateDisplay.tsx rename to packages/website/src/components/Armor/components/ArmorPlateDisplay.tsx index 050e9d195..aa83dd6ac 100644 --- a/src/components/Armor/components/ArmorPlateDisplay.tsx +++ b/packages/website/src/components/Armor/components/ArmorPlateDisplay.tsx @@ -10,10 +10,9 @@ import { import { Html } from '@react-three/drei'; import { useRef } from 'react'; import { radToDeg } from 'three/src/math/MathUtils'; -import * as App from '../../../../packages/website/src/stores/app'; -import * as Duel from '../../../../packages/website/src/stores/duel'; -import * as TankopediaEphemeral from '../../../../packages/website/src/stores/tankopediaEphemeral'; -import { resolveArmorIndex } from '../../../core/blitzkit/resolveArmorIndex'; +import * as App from '../../../stores/app'; +import * as Duel from '../../../stores/duel'; +import * as TankopediaEphemeral from '../../../stores/tankopediaEphemeral'; import { layerTypeNames } from './ShotDisplayCard'; import { ArmorType } from './SpacedArmorScene'; diff --git a/src/components/Armor/components/ModelTankWrapper.tsx b/packages/website/src/components/Armor/components/ModelTankWrapper.tsx similarity index 100% rename from src/components/Armor/components/ModelTankWrapper.tsx rename to packages/website/src/components/Armor/components/ModelTankWrapper.tsx diff --git a/src/components/Armor/components/PrimaryArmorScene.tsx b/packages/website/src/components/Armor/components/PrimaryArmorScene.tsx similarity index 94% rename from src/components/Armor/components/PrimaryArmorScene.tsx rename to packages/website/src/components/Armor/components/PrimaryArmorScene.tsx index 90afd0ff4..330bfd3ab 100644 --- a/src/components/Armor/components/PrimaryArmorScene.tsx +++ b/packages/website/src/components/Armor/components/PrimaryArmorScene.tsx @@ -1,12 +1,9 @@ import { memo, useRef } from 'react'; import { Group } from 'three'; -import * as Duel from '../../../../packages/website/src/stores/duel'; -import { correctZYTuple } from '../../../core/blitz/correctZYTuple'; -import { nameToArmorId } from '../../../core/blitzkit/nameToArmorId'; -import { resolveArmor } from '../../../core/blitzkit/resolveThickness'; import { useArmor } from '../../../hooks/useArmor'; import { useTankModelDefinition } from '../../../hooks/useTankModelDefinition'; import { useTankTransform } from '../../../hooks/useTankTransform'; +import * as Duel from '../../../stores/duel'; import { ModelTankWrapper } from './ModelTankWrapper'; import { PrimaryArmorSceneComponent } from './PrimaryArmorSceneComponent'; diff --git a/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx similarity index 87% rename from src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx rename to packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx index 6f36d8af4..d993e9dea 100644 --- a/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx +++ b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx @@ -1,16 +1,11 @@ -import { resolveNearPenetration } from '@blitzkit/core/src/blitzkit/resolveNearPenetration'; +import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; +import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; import { useFrame } from '@react-three/fiber'; import { useEffect } from 'react'; import { MeshBasicMaterial, Object3D, ShaderMaterial, Vector2 } from 'three'; import { degToRad } from 'three/src/math/MathUtils'; -import * as Duel from '../../../../../packages/website/src/stores/duel'; -import * as TankopediaPersistent from '../../../../../packages/website/src/stores/tankopediaPersistent'; -import { canSplash } from '../../../../core/blitz/canSplash'; -import { isExplosive } from '../../../../core/blitz/isExplosive'; -import { resolvePenetrationCoefficient } from '../../../../core/blitz/resolvePenetrationCoefficient'; -import { hasEquipment } from '../../../../core/blitzkit/hasEquipment'; -import { jsxTree } from '../../../../core/blitzkit/jsxTree'; -import { ShellDefinition } from '../../../../core/blitzkit/tankDefinitions'; +import * as Duel from '../../../../stores/duel'; +import * as TankopediaPersistent from '../../../../stores/tankopediaPersistent'; import fragmentShader from './shaders/fragment.glsl'; import vertexShader from './shaders/vertex.glsl'; import { spacedArmorRenderTarget } from './target'; diff --git a/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/fragment.glsl b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/fragment.glsl similarity index 100% rename from src/components/Armor/components/PrimaryArmorSceneComponent/shaders/fragment.glsl rename to packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/fragment.glsl diff --git a/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/vertex.glsl b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/vertex.glsl similarity index 100% rename from src/components/Armor/components/PrimaryArmorSceneComponent/shaders/vertex.glsl rename to packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/shaders/vertex.glsl diff --git a/src/components/Armor/components/PrimaryArmorSceneComponent/target.tsx b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/target.tsx similarity index 100% rename from src/components/Armor/components/PrimaryArmorSceneComponent/target.tsx rename to packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/target.tsx diff --git a/src/components/Armor/components/ShotDisplay.tsx b/packages/website/src/components/Armor/components/ShotDisplay.tsx similarity index 98% rename from src/components/Armor/components/ShotDisplay.tsx rename to packages/website/src/components/Armor/components/ShotDisplay.tsx index 44ff453f1..42ecbb769 100644 --- a/src/components/Armor/components/ShotDisplay.tsx +++ b/packages/website/src/components/Armor/components/ShotDisplay.tsx @@ -15,8 +15,6 @@ import { Path, Quaternion, } from 'three'; -import * as TankopediaEphemeral from '../../../../packages/website/src/stores/tankopediaEphemeral'; -import { J_HAT, K_HAT } from '../../../constants/axis'; import { useFullScreen } from '../../../hooks/useFullScreen'; import { ShotDisplayCard } from './ShotDisplayCard'; diff --git a/src/components/Armor/components/ShotDisplayCard.tsx b/packages/website/src/components/Armor/components/ShotDisplayCard.tsx similarity index 94% rename from src/components/Armor/components/ShotDisplayCard.tsx rename to packages/website/src/components/Armor/components/ShotDisplayCard.tsx index 85deec12b..cc54c0add 100644 --- a/src/components/Armor/components/ShotDisplayCard.tsx +++ b/packages/website/src/components/Armor/components/ShotDisplayCard.tsx @@ -8,7 +8,7 @@ import { } from '@radix-ui/themes'; import { ComponentProps } from 'react'; import { radToDeg } from 'three/src/math/MathUtils'; -import * as TankopediaEphemeral from '../../../../packages/website/src/stores/tankopediaEphemeral'; +import * as TankopediaEphemeral from '../../../stores/tankopediaEphemeral'; import { shotStatusColors } from './ShotDisplay'; import { ArmorType } from './SpacedArmorScene'; import { ExternalModuleVariant } from './SpacedArmorSceneComponent'; @@ -79,7 +79,9 @@ function LayerEntry({ <> {Math.round(layer.thicknessAngled).toLocaleString()} - {`mm${angle === undefined ? '' : ` ${Math.round(radToDeg(angle))}°`}`} + {`mm${ + angle === undefined ? '' : ` ${Math.round(radToDeg(angle))}°` + }`} @@ -193,7 +195,10 @@ export function ShotDisplayCard({ shot, ...props }: ShotDisplayCardProps) { const layerIndex = layer.type === null ? undefined - : `${(shot.containsGaps ? shiftedIndex / 2 : shiftedIndex) + 1}.`; + : `${ + (shot.containsGaps ? shiftedIndex / 2 : shiftedIndex) + + 1 + }.`; const shotStatusColor = shot.out!.status === 'splash' ? shotStatusColors.splash diff --git a/src/components/Armor/components/SpacedArmorScene.tsx b/packages/website/src/components/Armor/components/SpacedArmorScene.tsx similarity index 94% rename from src/components/Armor/components/SpacedArmorScene.tsx rename to packages/website/src/components/Armor/components/SpacedArmorScene.tsx index ae31207ee..48d25db64 100644 --- a/src/components/Armor/components/SpacedArmorScene.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorScene.tsx @@ -1,13 +1,10 @@ import { memo, useRef } from 'react'; import { Group, Plane, Scene, Vector3 } from 'three'; -import * as Duel from '../../../../packages/website/src/stores/duel'; -import { correctZYTuple } from '../../../core/blitz/correctZYTuple'; -import { nameToArmorId } from '../../../core/blitzkit/nameToArmorId'; -import { resolveArmor } from '../../../core/blitzkit/resolveThickness'; import { useArmor } from '../../../hooks/useArmor'; import { useModel } from '../../../hooks/useModel'; import { useTankModelDefinition } from '../../../hooks/useTankModelDefinition'; import { useTankTransform } from '../../../hooks/useTankTransform'; +import * as Duel from '../../../stores/duel'; import { ModelTankWrapper } from './ModelTankWrapper'; import { SpacedArmorSceneComponent } from './SpacedArmorSceneComponent'; @@ -175,7 +172,9 @@ export const SpacedArmorScene = memo(({ scene }) => { })} {modelNodes.map((node) => { - const gunString = `gun_${gunModelDefinition.model.toString().padStart(2, '0')}`; + const gunString = `gun_${gunModelDefinition.model + .toString() + .padStart(2, '0')}`; const isCurrentGun = gunModelDefinition.mask ? node.name.startsWith(gunString) : node.name === gunString; diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx similarity index 87% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx index 323c26e64..c5a372335 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx @@ -1,4 +1,4 @@ -import { resolveNearPenetration } from '@blitzkit/core/src/blitzkit/resolveNearPenetration'; +import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; import { useEffect } from 'react'; import { AdditiveBlending, @@ -8,11 +8,7 @@ import { ShaderMaterial, } from 'three'; import { ArmorUserData, ExternalModuleVariant } from '../..'; -import * as Duel from '../../../../../../../packages/website/src/stores/duel'; -import { resolvePenetrationCoefficient } from '../../../../../../core/blitz/resolvePenetrationCoefficient'; -import { hasEquipment } from '../../../../../../core/blitzkit/hasEquipment'; -import { jsxTree } from '../../../../../../core/blitzkit/jsxTree'; -import { ShellDefinition } from '../../../../../../core/blitzkit/tankDefinitions'; +import * as Duel from '../../../../../../stores/duel'; import { ArmorType } from '../../../SpacedArmorScene'; import fragmentShader from './shaders/fragment.glsl'; import vertexShader from './shaders/vertex.glsl'; diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/fragment.glsl b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/fragment.glsl similarity index 100% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/fragment.glsl rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/fragment.glsl diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/vertex.glsl b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/vertex.glsl similarity index 100% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/vertex.glsl rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/shaders/vertex.glsl diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx similarity index 86% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx index 7bcc33862..53a3db8fb 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx @@ -1,4 +1,5 @@ -import { resolveNearPenetration } from '@blitzkit/core/src/blitzkit/resolveNearPenetration'; +import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; +import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; import { useEffect } from 'react'; import { AdditiveBlending, @@ -8,12 +9,7 @@ import { } from 'three'; import { degToRad } from 'three/src/math/MathUtils'; import { ArmorUserData } from '../..'; -import * as Duel from '../../../../../../../packages/website/src/stores/duel'; -import { isExplosive } from '../../../../../../core/blitz/isExplosive'; -import { resolvePenetrationCoefficient } from '../../../../../../core/blitz/resolvePenetrationCoefficient'; -import { hasEquipment } from '../../../../../../core/blitzkit/hasEquipment'; -import { jsxTree } from '../../../../../../core/blitzkit/jsxTree'; -import { ShellDefinition } from '../../../../../../core/blitzkit/tankDefinitions'; +import * as Duel from '../../../../../../stores/duel'; import { ArmorType } from '../../../SpacedArmorScene'; import fragmentShader from './shaders/fragment.glsl'; import vertexShader from './shaders/vertex.glsl'; diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl similarity index 100% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/vertex.glsl b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/vertex.glsl similarity index 100% rename from src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/vertex.glsl rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/vertex.glsl diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx similarity index 94% rename from src/components/Armor/components/SpacedArmorSceneComponent/index.tsx rename to packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx index 995dabe6f..54bad06e4 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx @@ -1,4 +1,5 @@ -import { resolveNearPenetration } from '@blitzkit/core/src/blitzkit/resolveNearPenetration'; +import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; +import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; import { useThree } from '@react-three/fiber'; import { useCallback } from 'react'; import { @@ -12,14 +13,8 @@ import { Vector3, } from 'three'; import { degToRad } from 'three/src/math/MathUtils'; -import * as Duel from '../../../../../packages/website/src/stores/duel'; -import * as TankopediaEphemeral from '../../../../../packages/website/src/stores/tankopediaEphemeral'; -import { isExplosive } from '../../../../core/blitz/isExplosive'; -import { resolvePenetrationCoefficient } from '../../../../core/blitz/resolvePenetrationCoefficient'; -import { hasEquipment } from '../../../../core/blitzkit/hasEquipment'; -import { jsxTree } from '../../../../core/blitzkit/jsxTree'; -import { ShellType } from '../../../../core/blitzkit/tankDefinitions'; -import { discardClippingPlane } from '../../../../core/three/discardClippingPlane'; +import * as Duel from '../../../../stores/duel'; +import * as TankopediaEphemeral from '../../../../stores/tankopediaEphemeral'; import { ArmorType } from '../SpacedArmorScene'; import { SpacedArmorSubExternal } from './components/SpacedArmorSubExternal'; import { SpacedArmorSubSpaced } from './components/SpacedArmorSubSpaced'; diff --git a/src/components/Armor/components/StaticArmor.tsx b/packages/website/src/components/Armor/components/StaticArmor.tsx similarity index 94% rename from src/components/Armor/components/StaticArmor.tsx rename to packages/website/src/components/Armor/components/StaticArmor.tsx index 23db1272a..c4ccf9aa0 100644 --- a/src/components/Armor/components/StaticArmor.tsx +++ b/packages/website/src/components/Armor/components/StaticArmor.tsx @@ -1,20 +1,14 @@ +import { normalizeAngleRad } from '@blitzkit/core/src/math/normalizeAngleRad'; import { ThreeEvent, useThree } from '@react-three/fiber'; import { memo, useRef } from 'react'; import { Group, Plane, Vector2, Vector3 } from 'three'; -import * as Duel from '../../../../packages/website/src/stores/duel'; -import * as TankopediaEphemeral from '../../../../packages/website/src/stores/tankopediaEphemeral'; -import * as TankopediaPersistent from '../../../../packages/website/src/stores/tankopediaPersistent'; -import { applyPitchYawLimits } from '../../../core/blitz/applyPitchYawLimits'; -import { correctZYTuple } from '../../../core/blitz/correctZYTuple'; -import { hasEquipment } from '../../../core/blitzkit/hasEquipment'; -import { modelTransformEvent } from '../../../core/blitzkit/modelTransform'; -import { nameToArmorId } from '../../../core/blitzkit/nameToArmorId'; -import { resolveArmor } from '../../../core/blitzkit/resolveThickness'; -import { normalizeAngleRad } from '../../../core/math/normalizeAngleRad'; import { useArmor } from '../../../hooks/useArmor'; import { useModel } from '../../../hooks/useModel'; import { useTankModelDefinition } from '../../../hooks/useTankModelDefinition'; import { useTankTransform } from '../../../hooks/useTankTransform'; +import * as Duel from '../../../stores/duel'; +import * as TankopediaEphemeral from '../../../stores/tankopediaEphemeral'; +import * as TankopediaPersistent from '../../../stores/tankopediaPersistent'; import { ModelTankWrapper } from './ModelTankWrapper'; import { ArmorType } from './SpacedArmorScene'; import { StaticArmorSceneComponent } from './StaticArmorSceneComponent'; @@ -319,7 +313,9 @@ export const StaticArmor = memo(({ thicknessRange }) => { })} {modelNodes.map((node) => { - const gunString = `gun_${gunModelDefinition.model.toString().padStart(2, '0')}`; + const gunString = `gun_${gunModelDefinition.model + .toString() + .padStart(2, '0')}`; const isCurrentGun = gunModelDefinition.mask ? node.name.startsWith(gunString) : node.name === gunString; diff --git a/src/components/Armor/components/StaticArmorSceneComponent.tsx b/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx similarity index 93% rename from src/components/Armor/components/StaticArmorSceneComponent.tsx rename to packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx index 511145690..6d5c4f981 100644 --- a/src/components/Armor/components/StaticArmorSceneComponent.tsx +++ b/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx @@ -1,3 +1,4 @@ +import { I_HAT, J_HAT } from '@blitzkit/core/src/math/axis'; import { MeshProps, useThree } from '@react-three/fiber'; import { clamp } from 'lodash'; import { useEffect, useMemo } from 'react'; @@ -14,15 +15,7 @@ import { Quaternion, Vector3, } from 'three'; -import * as TankopediaEphemeral from '../../../../packages/website/src/stores/tankopediaEphemeral'; -import { I_HAT, J_HAT } from '../../../constants/axis'; -import { unrotateDavaVector } from '../../../core/blitz/unrotateDavaVector'; -import { jsxTree } from '../../../core/blitzkit/jsxTree'; -import { - modelTransformEvent, - ModelTransformEventData, -} from '../../../core/blitzkit/modelTransform'; -import { discardClippingPlane } from '../../../core/three/discardClippingPlane'; +import * as TankopediaEphemeral from '../../../stores/tankopediaEphemeral'; import { ArmorType } from './SpacedArmorScene'; import { ArmorUserData, diff --git a/src/components/Armor/index.tsx b/packages/website/src/components/Armor/index.tsx similarity index 100% rename from src/components/Armor/index.tsx rename to packages/website/src/components/Armor/index.tsx diff --git a/src/components/ConsumablesManager.tsx b/packages/website/src/components/ConsumablesManager.tsx similarity index 95% rename from src/components/ConsumablesManager.tsx rename to packages/website/src/components/ConsumablesManager.tsx index 14bf5534d..f71251d4e 100644 --- a/src/components/ConsumablesManager.tsx +++ b/packages/website/src/components/ConsumablesManager.tsx @@ -1,5 +1,5 @@ +import { ConsumableEntry } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; import { Flex, FlexProps } from '@radix-ui/themes'; -import { ConsumableEntry } from '../core/blitzkit/consumableDefinitions'; import { ConsumableButton } from './ModuleButtons/ConsumableButton'; type ConsumablesManagerProps = FlexProps & { diff --git a/src/components/CrewSkillManager.tsx b/packages/website/src/components/CrewSkillManager.tsx similarity index 81% rename from src/components/CrewSkillManager.tsx rename to packages/website/src/components/CrewSkillManager.tsx index 7f3b3c64f..5f4fa8ce0 100644 --- a/src/components/CrewSkillManager.tsx +++ b/packages/website/src/components/CrewSkillManager.tsx @@ -1,10 +1,8 @@ +import { asset, Tier, TIER_ROMAN_NUMERALS } from '@blitzkit/core'; +import { permanentSkills } from '@blitzkit/core/src/blitz/permanentSkills'; +import { skillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; import { Flex } from '@radix-ui/themes'; import { use } from 'react'; -import { permanentSkills } from '../app/tools/tankopedia/[id]/components/Characteristics/components/Skills/constants'; -import { asset } from '../core/blitzkit/asset'; -import { skillDefinitions } from '../core/blitzkit/skillDefinitions'; -import { Tier } from '../core/blitzkit/tankDefinitions'; -import { TIER_ROMAN_NUMERALS } from '../core/blitzkit/tankDefinitions/constants'; import { GenericTankComponentButton } from './ModuleButtons/GenericTankComponentButton'; interface CrewSkillManagerProps { diff --git a/src/components/EquipmentManager.tsx b/packages/website/src/components/EquipmentManager.tsx similarity index 93% rename from src/components/EquipmentManager.tsx rename to packages/website/src/components/EquipmentManager.tsx index 187e16316..ccd9d3f31 100644 --- a/src/components/EquipmentManager.tsx +++ b/packages/website/src/components/EquipmentManager.tsx @@ -1,7 +1,6 @@ +import { EquipmentPreset } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; import { Flex } from '@radix-ui/themes'; import { cloneDeep } from 'lodash'; -import { EquipmentMatrix } from '../../packages/website/src/stores/duel'; -import { EquipmentPreset } from '../core/blitzkit/equipmentDefinitions'; import { EquipmentButton } from './ModuleButtons/EquipmentButton'; interface EquipmentManagerProps { diff --git a/src/components/ModuleButtons/ConsumableButton.tsx b/packages/website/src/components/ModuleButtons/ConsumableButton.tsx similarity index 88% rename from src/components/ModuleButtons/ConsumableButton.tsx rename to packages/website/src/components/ModuleButtons/ConsumableButton.tsx index 8cc8295ba..2eb336ec1 100644 --- a/src/components/ModuleButtons/ConsumableButton.tsx +++ b/packages/website/src/components/ModuleButtons/ConsumableButton.tsx @@ -1,8 +1,8 @@ +import { asset } from '@blitzkit/core'; +import { consumableDefinitions } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; import { ClockIcon, ReloadIcon } from '@radix-ui/react-icons'; import { Flex, Text } from '@radix-ui/themes'; import { use } from 'react'; -import { asset } from '../../core/blitzkit/asset'; -import { consumableDefinitions } from '../../core/blitzkit/consumableDefinitions'; import { useDelta } from '../../hooks/useDelta'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; @@ -39,8 +39,8 @@ export function ConsumableButton({ durationDelta > 0 ? 'green' : durationDelta < 0 - ? 'tomato' - : undefined + ? 'tomato' + : undefined } > @@ -56,8 +56,8 @@ export function ConsumableButton({ cooldownDelta < 0 ? 'green' : cooldownDelta > 0 - ? 'tomato' - : undefined + ? 'tomato' + : undefined } > diff --git a/src/components/ModuleButtons/EquipmentButton.tsx b/packages/website/src/components/ModuleButtons/EquipmentButton.tsx similarity index 82% rename from src/components/ModuleButtons/EquipmentButton.tsx rename to packages/website/src/components/ModuleButtons/EquipmentButton.tsx index d56c73e03..b63309f57 100644 --- a/src/components/ModuleButtons/EquipmentButton.tsx +++ b/packages/website/src/components/ModuleButtons/EquipmentButton.tsx @@ -1,6 +1,6 @@ +import { asset } from '@blitzkit/core'; +import { equipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; import { use } from 'react'; -import { asset } from '../../core/blitzkit/asset'; -import { equipmentDefinitions } from '../../core/blitzkit/equipmentDefinitions'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; diff --git a/src/components/ModuleButtons/GenericTankComponentButton.tsx b/packages/website/src/components/ModuleButtons/GenericTankComponentButton.tsx similarity index 100% rename from src/components/ModuleButtons/GenericTankComponentButton.tsx rename to packages/website/src/components/ModuleButtons/GenericTankComponentButton.tsx diff --git a/src/components/ModuleButtons/ModuleButton.tsx b/packages/website/src/components/ModuleButtons/ModuleButton.tsx similarity index 100% rename from src/components/ModuleButtons/ModuleButton.tsx rename to packages/website/src/components/ModuleButtons/ModuleButton.tsx diff --git a/src/components/ModuleButtons/ProvisionButton.tsx b/packages/website/src/components/ModuleButtons/ProvisionButton.tsx similarity index 81% rename from src/components/ModuleButtons/ProvisionButton.tsx rename to packages/website/src/components/ModuleButtons/ProvisionButton.tsx index 099dbc0bc..8af02ede9 100644 --- a/src/components/ModuleButtons/ProvisionButton.tsx +++ b/packages/website/src/components/ModuleButtons/ProvisionButton.tsx @@ -1,6 +1,6 @@ +import { asset } from '@blitzkit/core'; +import { provisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; import { use } from 'react'; -import { asset } from '../../core/blitzkit/asset'; -import { provisionDefinitions } from '../../core/blitzkit/provisionDefinitions'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; diff --git a/src/components/ModuleButtons/ShellButton.tsx b/packages/website/src/components/ModuleButtons/ShellButton.tsx similarity index 100% rename from src/components/ModuleButtons/ShellButton.tsx rename to packages/website/src/components/ModuleButtons/ShellButton.tsx diff --git a/src/components/ModuleButtons/TankComponentButton.tsx b/packages/website/src/components/ModuleButtons/TankComponentButton.tsx similarity index 100% rename from src/components/ModuleButtons/TankComponentButton.tsx rename to packages/website/src/components/ModuleButtons/TankComponentButton.tsx diff --git a/src/components/ModuleManager.tsx b/packages/website/src/components/ModuleManager.tsx similarity index 100% rename from src/components/ModuleManager.tsx rename to packages/website/src/components/ModuleManager.tsx diff --git a/packages/website/src/components/Navbar/components/WargamingAccountName.tsx b/packages/website/src/components/Navbar/components/WargamingAccountName.tsx index d0f8118e2..f6d3225f6 100644 --- a/packages/website/src/components/Navbar/components/WargamingAccountName.tsx +++ b/packages/website/src/components/Navbar/components/WargamingAccountName.tsx @@ -1,7 +1,6 @@ import { idToRegion } from '@blitzkit/core'; import { Text } from '@radix-ui/themes'; import { use, useMemo } from 'react'; -import { getAccountInfo } from '../../../../../../src/core/blitz/getAccountInfo'; import * as App from '../../../stores/app'; export function WargamingAccountName() { diff --git a/src/components/ProvisionsManager.tsx b/packages/website/src/components/ProvisionsManager.tsx similarity index 100% rename from src/components/ProvisionsManager.tsx rename to packages/website/src/components/ProvisionsManager.tsx diff --git a/src/core/blitz/applyPitchYawLimits.ts b/packages/website/src/core/blitz/applyPitchYawLimits.ts similarity index 97% rename from src/core/blitz/applyPitchYawLimits.ts rename to packages/website/src/core/blitz/applyPitchYawLimits.ts index 10fb13a15..a74014cea 100644 --- a/src/core/blitz/applyPitchYawLimits.ts +++ b/packages/website/src/core/blitz/applyPitchYawLimits.ts @@ -2,9 +2,9 @@ import { PitchLimits, YawLimits, } from '@blitzkit/core/src/blitzkit/modelDefinitions'; +import { normalizeAngleRad } from '@blitzkit/core/src/math/normalizeAngleRad'; import { clamp } from 'lodash'; import { degToRad } from 'three/src/math/MathUtils'; -import { normalizeAngleRad } from '../math/normalizeAngleRad'; export function applyPitchYawLimits( pitch: number, // rad diff --git a/src/core/blitz/canSplash.ts b/packages/website/src/core/blitz/canSplash.ts similarity index 60% rename from src/core/blitz/canSplash.ts rename to packages/website/src/core/blitz/canSplash.ts index 9d1b32067..e67604866 100644 --- a/src/core/blitz/canSplash.ts +++ b/packages/website/src/core/blitz/canSplash.ts @@ -1,5 +1,3 @@ -import { ShellDefinition, ShellType } from '../blitzkit/tankDefinitions'; - export function canSplash(type: ShellDefinition['type']): type is ShellType.HE { return type === ShellType.HE; } diff --git a/src/core/blitz/correctZYTuple.ts b/packages/website/src/core/blitz/correctZYTuple.ts similarity index 100% rename from src/core/blitz/correctZYTuple.ts rename to packages/website/src/core/blitz/correctZYTuple.ts diff --git a/src/core/blitz/extractArmor.ts b/packages/website/src/core/blitz/extractArmor.ts similarity index 100% rename from src/core/blitz/extractArmor.ts rename to packages/website/src/core/blitz/extractArmor.ts diff --git a/src/core/blitz/extractModel/constants.ts b/packages/website/src/core/blitz/extractModel/constants.ts similarity index 100% rename from src/core/blitz/extractModel/constants.ts rename to packages/website/src/core/blitz/extractModel/constants.ts diff --git a/src/core/blitz/extractModel/index.ts b/packages/website/src/core/blitz/extractModel/index.ts similarity index 100% rename from src/core/blitz/extractModel/index.ts rename to packages/website/src/core/blitz/extractModel/index.ts diff --git a/src/core/blitz/fetchBlitz.ts b/packages/website/src/core/blitz/fetchBlitz.ts similarity index 97% rename from src/core/blitz/fetchBlitz.ts rename to packages/website/src/core/blitz/fetchBlitz.ts index c9acb951d..e635c2ce2 100644 --- a/src/core/blitz/fetchBlitz.ts +++ b/packages/website/src/core/blitz/fetchBlitz.ts @@ -1,6 +1,6 @@ import { assertSecret } from '@blitzkit/core'; +import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager'; import { Region } from '../../constants/regions'; -import { EventManager } from '../blitzkit/eventManager'; import { patientFetch } from '../blitzkit/patientFetch'; const RETRY_ERRORS = ['REQUEST_LIMIT_EXCEEDED', 'SOURCE_NOT_AVAILABLE']; diff --git a/src/core/blitz/generateStats.ts b/packages/website/src/core/blitz/generateStats.ts similarity index 100% rename from src/core/blitz/generateStats.ts rename to packages/website/src/core/blitz/generateStats.ts diff --git a/src/core/blitz/getAccountAchievements.ts b/packages/website/src/core/blitz/getAccountAchievements.ts similarity index 100% rename from src/core/blitz/getAccountAchievements.ts rename to packages/website/src/core/blitz/getAccountAchievements.ts diff --git a/src/core/blitz/getAccountInfo.ts b/packages/website/src/core/blitz/getAccountInfo.ts similarity index 100% rename from src/core/blitz/getAccountInfo.ts rename to packages/website/src/core/blitz/getAccountInfo.ts diff --git a/src/core/blitz/getClanAccountInfo.ts b/packages/website/src/core/blitz/getClanAccountInfo.ts similarity index 100% rename from src/core/blitz/getClanAccountInfo.ts rename to packages/website/src/core/blitz/getClanAccountInfo.ts diff --git a/src/core/blitz/getClanInfo.ts b/packages/website/src/core/blitz/getClanInfo.ts similarity index 100% rename from src/core/blitz/getClanInfo.ts rename to packages/website/src/core/blitz/getClanInfo.ts diff --git a/src/core/blitz/getLeagueFromScore.ts b/packages/website/src/core/blitz/getLeagueFromScore.ts similarity index 100% rename from src/core/blitz/getLeagueFromScore.ts rename to packages/website/src/core/blitz/getLeagueFromScore.ts diff --git a/src/core/blitz/getRatingInfo.ts b/packages/website/src/core/blitz/getRatingInfo.ts similarity index 100% rename from src/core/blitz/getRatingInfo.ts rename to packages/website/src/core/blitz/getRatingInfo.ts diff --git a/src/core/blitz/getRatingLeague.ts b/packages/website/src/core/blitz/getRatingLeague.ts similarity index 100% rename from src/core/blitz/getRatingLeague.ts rename to packages/website/src/core/blitz/getRatingLeague.ts diff --git a/src/core/blitz/getRatingNeighbors.ts b/packages/website/src/core/blitz/getRatingNeighbors.ts similarity index 100% rename from src/core/blitz/getRatingNeighbors.ts rename to packages/website/src/core/blitz/getRatingNeighbors.ts diff --git a/src/core/blitz/getTankStats.ts b/packages/website/src/core/blitz/getTankStats.ts similarity index 100% rename from src/core/blitz/getTankStats.ts rename to packages/website/src/core/blitz/getTankStats.ts diff --git a/src/core/blitz/isOnGoingRatingSeason.ts b/packages/website/src/core/blitz/isOnGoingRatingSeason.ts similarity index 100% rename from src/core/blitz/isOnGoingRatingSeason.ts rename to packages/website/src/core/blitz/isOnGoingRatingSeason.ts diff --git a/src/core/blitz/isValidBlitzId.ts b/packages/website/src/core/blitz/isValidBlitzId.ts similarity index 100% rename from src/core/blitz/isValidBlitzId.ts rename to packages/website/src/core/blitz/isValidBlitzId.ts diff --git a/src/core/blitz/normalizeExtra.ts b/packages/website/src/core/blitz/normalizeExtra.ts similarity index 100% rename from src/core/blitz/normalizeExtra.ts rename to packages/website/src/core/blitz/normalizeExtra.ts diff --git a/src/core/blitz/normalizeIds.ts b/packages/website/src/core/blitz/normalizeIds.ts similarity index 100% rename from src/core/blitz/normalizeIds.ts rename to packages/website/src/core/blitz/normalizeIds.ts diff --git a/src/core/blitz/normalizeLeagueIcon.ts b/packages/website/src/core/blitz/normalizeLeagueIcon.ts similarity index 100% rename from src/core/blitz/normalizeLeagueIcon.ts rename to packages/website/src/core/blitz/normalizeLeagueIcon.ts diff --git a/src/core/blitz/readBase64DVPL.ts b/packages/website/src/core/blitz/readBase64DVPL.ts similarity index 100% rename from src/core/blitz/readBase64DVPL.ts rename to packages/website/src/core/blitz/readBase64DVPL.ts diff --git a/src/core/blitz/readDVPL.ts b/packages/website/src/core/blitz/readDVPL.ts similarity index 100% rename from src/core/blitz/readDVPL.ts rename to packages/website/src/core/blitz/readDVPL.ts diff --git a/src/core/blitz/readDVPLFile.ts b/packages/website/src/core/blitz/readDVPLFile.ts similarity index 100% rename from src/core/blitz/readDVPLFile.ts rename to packages/website/src/core/blitz/readDVPLFile.ts diff --git a/src/core/blitz/readStringDVPL.ts b/packages/website/src/core/blitz/readStringDVPL.ts similarity index 100% rename from src/core/blitz/readStringDVPL.ts rename to packages/website/src/core/blitz/readStringDVPL.ts diff --git a/src/core/blitz/readXMLDVPL.ts b/packages/website/src/core/blitz/readXMLDVPL.ts similarity index 100% rename from src/core/blitz/readXMLDVPL.ts rename to packages/website/src/core/blitz/readXMLDVPL.ts diff --git a/src/core/blitz/readYAML.ts b/packages/website/src/core/blitz/readYAML.ts similarity index 100% rename from src/core/blitz/readYAML.ts rename to packages/website/src/core/blitz/readYAML.ts diff --git a/src/core/blitz/readYAMLDVPL.ts b/packages/website/src/core/blitz/readYAMLDVPL.ts similarity index 100% rename from src/core/blitz/readYAMLDVPL.ts rename to packages/website/src/core/blitz/readYAMLDVPL.ts diff --git a/src/core/blitz/regionSubdomainToRegion.ts b/packages/website/src/core/blitz/regionSubdomainToRegion.ts similarity index 100% rename from src/core/blitz/regionSubdomainToRegion.ts rename to packages/website/src/core/blitz/regionSubdomainToRegion.ts diff --git a/src/core/blitz/regionToRegionSubdomain.ts b/packages/website/src/core/blitz/regionToRegionSubdomain.ts similarity index 100% rename from src/core/blitz/regionToRegionSubdomain.ts rename to packages/website/src/core/blitz/regionToRegionSubdomain.ts diff --git a/src/core/blitz/resolveTankId.ts b/packages/website/src/core/blitz/resolveTankId.ts similarity index 100% rename from src/core/blitz/resolveTankId.ts rename to packages/website/src/core/blitz/resolveTankId.ts diff --git a/src/core/blitz/rotateDavaVector.ts b/packages/website/src/core/blitz/rotateDavaVector.ts similarity index 72% rename from src/core/blitz/rotateDavaVector.ts rename to packages/website/src/core/blitz/rotateDavaVector.ts index f3e76e9bd..3cc8f7f02 100644 --- a/src/core/blitz/rotateDavaVector.ts +++ b/packages/website/src/core/blitz/rotateDavaVector.ts @@ -1,5 +1,5 @@ +import { I_HAT } from '@blitzkit/core/src/math/axis'; import { Vector3 } from 'three'; -import { I_HAT } from '../../constants/axis'; export function rotateDavaVector(vector: Vector3) { return vector.applyAxisAngle(I_HAT, Math.PI / 2); diff --git a/src/core/blitz/searchClansAcrossRegions.ts b/packages/website/src/core/blitz/searchClansAcrossRegions.ts similarity index 100% rename from src/core/blitz/searchClansAcrossRegions.ts rename to packages/website/src/core/blitz/searchClansAcrossRegions.ts diff --git a/src/core/blitz/searchCurrentRatingPlayers.ts b/packages/website/src/core/blitz/searchCurrentRatingPlayers.ts similarity index 100% rename from src/core/blitz/searchCurrentRatingPlayers.ts rename to packages/website/src/core/blitz/searchCurrentRatingPlayers.ts diff --git a/src/core/blitz/searchPlayersAcrossRegions/constants.ts b/packages/website/src/core/blitz/searchPlayersAcrossRegions/constants.ts similarity index 100% rename from src/core/blitz/searchPlayersAcrossRegions/constants.ts rename to packages/website/src/core/blitz/searchPlayersAcrossRegions/constants.ts diff --git a/src/core/blitz/searchPlayersAcrossRegions/index.ts b/packages/website/src/core/blitz/searchPlayersAcrossRegions/index.ts similarity index 100% rename from src/core/blitz/searchPlayersAcrossRegions/index.ts rename to packages/website/src/core/blitz/searchPlayersAcrossRegions/index.ts diff --git a/src/core/blitz/toUniqueId.ts b/packages/website/src/core/blitz/toUniqueId.ts similarity index 100% rename from src/core/blitz/toUniqueId.ts rename to packages/website/src/core/blitz/toUniqueId.ts diff --git a/src/core/blitz/unrotateDavaVector.ts b/packages/website/src/core/blitz/unrotateDavaVector.ts similarity index 72% rename from src/core/blitz/unrotateDavaVector.ts rename to packages/website/src/core/blitz/unrotateDavaVector.ts index a312cef3d..a7cd1d910 100644 --- a/src/core/blitz/unrotateDavaVector.ts +++ b/packages/website/src/core/blitz/unrotateDavaVector.ts @@ -1,5 +1,5 @@ +import { I_HAT } from '@blitzkit/core/src/math/axis'; import { Vector3 } from 'three'; -import { I_HAT } from '../../constants/axis'; export function unrotateDavaVector(vector: Vector3) { return vector.applyAxisAngle(I_HAT, -Math.PI / 2); diff --git a/src/core/blitz/writeDVPL.ts b/packages/website/src/core/blitz/writeDVPL.ts similarity index 100% rename from src/core/blitz/writeDVPL.ts rename to packages/website/src/core/blitz/writeDVPL.ts diff --git a/src/core/blitzkit/buildTechTreeLine.ts b/packages/website/src/core/blitzkit/buildTechTreeLine.ts similarity index 100% rename from src/core/blitzkit/buildTechTreeLine.ts rename to packages/website/src/core/blitzkit/buildTechTreeLine.ts diff --git a/src/core/blitzkit/commitAssets.ts b/packages/website/src/core/blitzkit/commitAssets.ts similarity index 100% rename from src/core/blitzkit/commitAssets.ts rename to packages/website/src/core/blitzkit/commitAssets.ts diff --git a/src/core/blitzkit/commitMultipleFiles.ts b/packages/website/src/core/blitzkit/commitMultipleFiles.ts similarity index 100% rename from src/core/blitzkit/commitMultipleFiles.ts rename to packages/website/src/core/blitzkit/commitMultipleFiles.ts diff --git a/src/core/blitzkit/context.ts b/packages/website/src/core/blitzkit/context.ts similarity index 100% rename from src/core/blitzkit/context.ts rename to packages/website/src/core/blitzkit/context.ts diff --git a/src/core/blitzkit/createBlob.ts b/packages/website/src/core/blitzkit/createBlob.ts similarity index 100% rename from src/core/blitzkit/createBlob.ts rename to packages/website/src/core/blitzkit/createBlob.ts diff --git a/src/core/blitzkit/degressiveStat.ts b/packages/website/src/core/blitzkit/degressiveStat.ts similarity index 100% rename from src/core/blitzkit/degressiveStat.ts rename to packages/website/src/core/blitzkit/degressiveStat.ts diff --git a/src/core/blitzkit/discoveredIdDefinitions.ts b/packages/website/src/core/blitzkit/discoveredIdDefinitions.ts similarity index 100% rename from src/core/blitzkit/discoveredIdDefinitions.ts rename to packages/website/src/core/blitzkit/discoveredIdDefinitions.ts diff --git a/src/core/blitzkit/emblemURL.ts b/packages/website/src/core/blitzkit/emblemURL.ts similarity index 100% rename from src/core/blitzkit/emblemURL.ts rename to packages/website/src/core/blitzkit/emblemURL.ts diff --git a/src/core/blitzkit/fetchPreDiscoveredIds.ts b/packages/website/src/core/blitzkit/fetchPreDiscoveredIds.ts similarity index 100% rename from src/core/blitzkit/fetchPreDiscoveredIds.ts rename to packages/website/src/core/blitzkit/fetchPreDiscoveredIds.ts diff --git a/src/core/blitzkit/filtersToDescription.ts b/packages/website/src/core/blitzkit/filtersToDescription.ts similarity index 100% rename from src/core/blitzkit/filtersToDescription.ts rename to packages/website/src/core/blitzkit/filtersToDescription.ts diff --git a/src/core/blitzkit/flagUserActivity.ts b/packages/website/src/core/blitzkit/flagUserActivity.ts similarity index 100% rename from src/core/blitzkit/flagUserActivity.ts rename to packages/website/src/core/blitzkit/flagUserActivity.ts diff --git a/src/core/blitzkit/getArchivedLatestSeasonNumber.ts b/packages/website/src/core/blitzkit/getArchivedLatestSeasonNumber.ts similarity index 100% rename from src/core/blitzkit/getArchivedLatestSeasonNumber.ts rename to packages/website/src/core/blitzkit/getArchivedLatestSeasonNumber.ts diff --git a/src/core/blitzkit/getArchivedRatingInfo.ts b/packages/website/src/core/blitzkit/getArchivedRatingInfo.ts similarity index 100% rename from src/core/blitzkit/getArchivedRatingInfo.ts rename to packages/website/src/core/blitzkit/getArchivedRatingInfo.ts diff --git a/src/core/blitzkit/getArchivedRatingLeaderboard.ts b/packages/website/src/core/blitzkit/getArchivedRatingLeaderboard.ts similarity index 100% rename from src/core/blitzkit/getArchivedRatingLeaderboard.ts rename to packages/website/src/core/blitzkit/getArchivedRatingLeaderboard.ts diff --git a/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts b/packages/website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts similarity index 100% rename from src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts rename to packages/website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts diff --git a/src/core/blitzkit/getBlitzFromDiscord.ts b/packages/website/src/core/blitzkit/getBlitzFromDiscord.ts similarity index 100% rename from src/core/blitzkit/getBlitzFromDiscord.ts rename to packages/website/src/core/blitzkit/getBlitzFromDiscord.ts diff --git a/src/core/blitzkit/getPeriodNow.ts b/packages/website/src/core/blitzkit/getPeriodNow.ts similarity index 100% rename from src/core/blitzkit/getPeriodNow.ts rename to packages/website/src/core/blitzkit/getPeriodNow.ts diff --git a/src/core/blitzkit/getPeriodStart.ts b/packages/website/src/core/blitzkit/getPeriodStart.ts similarity index 100% rename from src/core/blitzkit/getPeriodStart.ts rename to packages/website/src/core/blitzkit/getPeriodStart.ts diff --git a/src/core/blitzkit/getTankHistories.ts b/packages/website/src/core/blitzkit/getTankHistories.ts similarity index 94% rename from src/core/blitzkit/getTankHistories.ts rename to packages/website/src/core/blitzkit/getTankHistories.ts index 1a281beec..9624d8319 100644 --- a/src/core/blitzkit/getTankHistories.ts +++ b/packages/website/src/core/blitzkit/getTankHistories.ts @@ -1,6 +1,5 @@ -import { Locale } from 'discord.js'; +import { emptyAllStats } from '@blitzkit/core/src/blitzstars/getStatsInPeriod/constants'; import { Region } from '../../constants/regions'; -import { UserError } from '../../hooks/userError'; import { GetHistoriesOptions, Histories, @@ -8,7 +7,6 @@ import { getHistoriesDefaultOptions, } from '../../types/histories'; import getTankStats from '../blitz/getTankStats'; -import { emptyAllStats } from '../blitzstars/getStatsInPeriod/constants'; import { translator } from '../localization/translator'; export interface TankHistory extends History { @@ -53,7 +51,7 @@ export default async function getTankHistories( all: history.all, last_battle_time: history.last_battle_time, tank_id: history.tank_id, - }) satisfies TankHistory, + } satisfies TankHistory), ); const compliantTanks: number[] = []; const lastBattles: Record = {}; diff --git a/src/core/blitzkit/getTimeDaysAgo.ts b/packages/website/src/core/blitzkit/getTimeDaysAgo.ts similarity index 100% rename from src/core/blitzkit/getTimeDaysAgo.ts rename to packages/website/src/core/blitzkit/getTimeDaysAgo.ts diff --git a/src/core/blitzkit/hasEquipment.ts b/packages/website/src/core/blitzkit/hasEquipment.ts similarity index 87% rename from src/core/blitzkit/hasEquipment.ts rename to packages/website/src/core/blitzkit/hasEquipment.ts index 75ca3f0ff..6177456d9 100644 --- a/src/core/blitzkit/hasEquipment.ts +++ b/packages/website/src/core/blitzkit/hasEquipment.ts @@ -1,5 +1,5 @@ +import { equipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; import { EquipmentMatrix } from '../../../packages/website/src/stores/duel'; -import { equipmentDefinitions } from './equipmentDefinitions'; export async function hasEquipment( id: number, diff --git a/src/core/blitzkit/iconPng.ts b/packages/website/src/core/blitzkit/iconPng.ts similarity index 100% rename from src/core/blitzkit/iconPng.ts rename to packages/website/src/core/blitzkit/iconPng.ts diff --git a/src/core/blitzkit/isLocalhost.ts b/packages/website/src/core/blitzkit/isLocalhost.ts similarity index 100% rename from src/core/blitzkit/isLocalhost.ts rename to packages/website/src/core/blitzkit/isLocalhost.ts diff --git a/src/core/blitzkit/jsxToPng.ts b/packages/website/src/core/blitzkit/jsxToPng.ts similarity index 100% rename from src/core/blitzkit/jsxToPng.ts rename to packages/website/src/core/blitzkit/jsxToPng.ts diff --git a/src/core/blitzkit/jsxToPngThreaded.ts b/packages/website/src/core/blitzkit/jsxToPngThreaded.ts similarity index 100% rename from src/core/blitzkit/jsxToPngThreaded.ts rename to packages/website/src/core/blitzkit/jsxToPngThreaded.ts diff --git a/src/core/blitzkit/jsxToSvg/Roboto-Black.ttf b/packages/website/src/core/blitzkit/jsxToSvg/Roboto-Black.ttf similarity index 100% rename from src/core/blitzkit/jsxToSvg/Roboto-Black.ttf rename to packages/website/src/core/blitzkit/jsxToSvg/Roboto-Black.ttf diff --git a/src/core/blitzkit/jsxToSvg/Roboto-Bold.ttf b/packages/website/src/core/blitzkit/jsxToSvg/Roboto-Bold.ttf similarity index 100% rename from src/core/blitzkit/jsxToSvg/Roboto-Bold.ttf rename to packages/website/src/core/blitzkit/jsxToSvg/Roboto-Bold.ttf diff --git a/src/core/blitzkit/jsxToSvg/Roboto.ttf b/packages/website/src/core/blitzkit/jsxToSvg/Roboto.ttf similarity index 100% rename from src/core/blitzkit/jsxToSvg/Roboto.ttf rename to packages/website/src/core/blitzkit/jsxToSvg/Roboto.ttf diff --git a/src/core/blitzkit/jsxToSvg/index.ts b/packages/website/src/core/blitzkit/jsxToSvg/index.ts similarity index 100% rename from src/core/blitzkit/jsxToSvg/index.ts rename to packages/website/src/core/blitzkit/jsxToSvg/index.ts diff --git a/src/core/blitzkit/jsxTree.tsx b/packages/website/src/core/blitzkit/jsxTree.tsx similarity index 100% rename from src/core/blitzkit/jsxTree.tsx rename to packages/website/src/core/blitzkit/jsxTree.tsx diff --git a/src/core/blitzkit/linkBlitzAndDiscord.ts b/packages/website/src/core/blitzkit/linkBlitzAndDiscord.ts similarity index 100% rename from src/core/blitzkit/linkBlitzAndDiscord.ts rename to packages/website/src/core/blitzkit/linkBlitzAndDiscord.ts diff --git a/src/core/blitzkit/mapDefinitions.ts b/packages/website/src/core/blitzkit/mapDefinitions.ts similarity index 100% rename from src/core/blitzkit/mapDefinitions.ts rename to packages/website/src/core/blitzkit/mapDefinitions.ts diff --git a/src/core/blitzkit/modelTransform.ts b/packages/website/src/core/blitzkit/modelTransform.ts similarity index 77% rename from src/core/blitzkit/modelTransform.ts rename to packages/website/src/core/blitzkit/modelTransform.ts index 3908802cb..d430d41f7 100644 --- a/src/core/blitzkit/modelTransform.ts +++ b/packages/website/src/core/blitzkit/modelTransform.ts @@ -1,5 +1,5 @@ +import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager'; import { invalidate } from '@react-three/fiber'; -import { EventManager } from './eventManager'; export interface ModelTransformEventData { yaw?: number; diff --git a/src/core/blitzkit/nameToArmorId.ts b/packages/website/src/core/blitzkit/nameToArmorId.ts similarity index 100% rename from src/core/blitzkit/nameToArmorId.ts rename to packages/website/src/core/blitzkit/nameToArmorId.ts diff --git a/src/core/blitzkit/normalizeBoundingBox.ts b/packages/website/src/core/blitzkit/normalizeBoundingBox.ts similarity index 100% rename from src/core/blitzkit/normalizeBoundingBox.ts rename to packages/website/src/core/blitzkit/normalizeBoundingBox.ts diff --git a/src/core/blitzkit/octokit.ts b/packages/website/src/core/blitzkit/octokit.ts similarity index 100% rename from src/core/blitzkit/octokit.ts rename to packages/website/src/core/blitzkit/octokit.ts diff --git a/src/core/blitzkit/parseBkni.ts b/packages/website/src/core/blitzkit/parseBkni.ts similarity index 100% rename from src/core/blitzkit/parseBkni.ts rename to packages/website/src/core/blitzkit/parseBkni.ts diff --git a/src/core/blitzkit/patientFetch.ts b/packages/website/src/core/blitzkit/patientFetch.ts similarity index 100% rename from src/core/blitzkit/patientFetch.ts rename to packages/website/src/core/blitzkit/patientFetch.ts diff --git a/src/core/blitzkit/patientFetchJSON.ts b/packages/website/src/core/blitzkit/patientFetchJSON.ts similarity index 100% rename from src/core/blitzkit/patientFetchJSON.ts rename to packages/website/src/core/blitzkit/patientFetchJSON.ts diff --git a/src/core/blitzkit/processes.ts b/packages/website/src/core/blitzkit/processes.ts similarity index 100% rename from src/core/blitzkit/processes.ts rename to packages/website/src/core/blitzkit/processes.ts diff --git a/src/core/blitzkit/progressiveStat.ts b/packages/website/src/core/blitzkit/progressiveStat.ts similarity index 100% rename from src/core/blitzkit/progressiveStat.ts rename to packages/website/src/core/blitzkit/progressiveStat.ts diff --git a/src/core/blitzkit/pushTankopediaPath.ts b/packages/website/src/core/blitzkit/pushTankopediaPath.ts similarity index 100% rename from src/core/blitzkit/pushTankopediaPath.ts rename to packages/website/src/core/blitzkit/pushTankopediaPath.ts diff --git a/src/core/blitzkit/readTexture/constants.ts b/packages/website/src/core/blitzkit/readTexture/constants.ts similarity index 100% rename from src/core/blitzkit/readTexture/constants.ts rename to packages/website/src/core/blitzkit/readTexture/constants.ts diff --git a/src/core/blitzkit/readTexture/index.ts b/packages/website/src/core/blitzkit/readTexture/index.ts similarity index 100% rename from src/core/blitzkit/readTexture/index.ts rename to packages/website/src/core/blitzkit/readTexture/index.ts diff --git a/src/core/blitzkit/renderConfiguration.ts b/packages/website/src/core/blitzkit/renderConfiguration.ts similarity index 100% rename from src/core/blitzkit/renderConfiguration.ts rename to packages/website/src/core/blitzkit/renderConfiguration.ts diff --git a/src/core/blitzkit/resolveAncestry.ts b/packages/website/src/core/blitzkit/resolveAncestry.ts similarity index 100% rename from src/core/blitzkit/resolveAncestry.ts rename to packages/website/src/core/blitzkit/resolveAncestry.ts diff --git a/src/core/blitzkit/resolveArmorIndex.ts b/packages/website/src/core/blitzkit/resolveArmorIndex.ts similarity index 100% rename from src/core/blitzkit/resolveArmorIndex.ts rename to packages/website/src/core/blitzkit/resolveArmorIndex.ts diff --git a/src/core/blitzkit/resolveDpm.ts b/packages/website/src/core/blitzkit/resolveDpm.ts similarity index 100% rename from src/core/blitzkit/resolveDpm.ts rename to packages/website/src/core/blitzkit/resolveDpm.ts diff --git a/src/core/blitzkit/resolveReload.ts b/packages/website/src/core/blitzkit/resolveReload.ts similarity index 100% rename from src/core/blitzkit/resolveReload.ts rename to packages/website/src/core/blitzkit/resolveReload.ts diff --git a/src/core/blitzkit/resolveThickness.ts b/packages/website/src/core/blitzkit/resolveThickness.ts similarity index 100% rename from src/core/blitzkit/resolveThickness.ts rename to packages/website/src/core/blitzkit/resolveThickness.ts diff --git a/src/core/blitzkit/svgToPng.ts b/packages/website/src/core/blitzkit/svgToPng.ts similarity index 100% rename from src/core/blitzkit/svgToPng.ts rename to packages/website/src/core/blitzkit/svgToPng.ts diff --git a/src/core/blitzkit/svgToPngThreaded.ts b/packages/website/src/core/blitzkit/svgToPngThreaded.ts similarity index 100% rename from src/core/blitzkit/svgToPngThreaded.ts rename to packages/website/src/core/blitzkit/svgToPngThreaded.ts diff --git a/src/core/blitzkit/tankIconPng.ts b/packages/website/src/core/blitzkit/tankIconPng.ts similarity index 100% rename from src/core/blitzkit/tankIconPng.ts rename to packages/website/src/core/blitzkit/tankIconPng.ts diff --git a/src/core/blitzkit/tankToCompareMember.ts b/packages/website/src/core/blitzkit/tankToCompareMember.ts similarity index 83% rename from src/core/blitzkit/tankToCompareMember.ts rename to packages/website/src/core/blitzkit/tankToCompareMember.ts index d350c6d4e..663eecc73 100644 --- a/src/core/blitzkit/tankToCompareMember.ts +++ b/packages/website/src/core/blitzkit/tankToCompareMember.ts @@ -1,6 +1,6 @@ +import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; import { uniqueId } from 'lodash'; import { CompareMember } from '../../../packages/website/src/stores/compareEphemeral'; -import { ProvisionDefinitions } from './provisionDefinitions'; import { TankDefinition } from './tankDefinitions'; import { tankToDuelMember } from './tankToDuelMember'; diff --git a/src/core/blitzkit/tankToDuelMember.ts b/packages/website/src/core/blitzkit/tankToDuelMember.ts similarity index 76% rename from src/core/blitzkit/tankToDuelMember.ts rename to packages/website/src/core/blitzkit/tankToDuelMember.ts index ac20e306f..b5587f0d8 100644 --- a/src/core/blitzkit/tankToDuelMember.ts +++ b/packages/website/src/core/blitzkit/tankToDuelMember.ts @@ -1,8 +1,8 @@ -import { DuelMember } from '../../../packages/website/src/stores/duel'; -import { genericDefaultEquipmentMatrix } from '../../../packages/website/src/stores/duel/constants'; -import { availableProvisions } from './availableProvisions'; -import { ProvisionDefinitions } from './provisionDefinitions'; -import { TankDefinition } from './tankDefinitions'; +import { TankDefinition } from '@blitzkit/core'; +import { availableProvisions } from '@blitzkit/core/src/blitzkit/availableProvisions'; +import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { DuelMember } from '../../stores/duel'; +import { genericDefaultEquipmentMatrix } from '../../stores/duel/constants'; const PROVISION_PREFERENCES = [ 19, // improved fuel diff --git a/src/core/blitzkit/unionBoundingBox.ts b/packages/website/src/core/blitzkit/unionBoundingBox.ts similarity index 100% rename from src/core/blitzkit/unionBoundingBox.ts rename to packages/website/src/core/blitzkit/unionBoundingBox.ts diff --git a/src/core/blitzkit/unwrapBlitzkitResponse.ts b/packages/website/src/core/blitzkit/unwrapBlitzkitResponse.ts similarity index 100% rename from src/core/blitzkit/unwrapBlitzkitResponse.ts rename to packages/website/src/core/blitzkit/unwrapBlitzkitResponse.ts diff --git a/src/core/blitzkit/withCORSProxy.ts b/packages/website/src/core/blitzkit/withCORSProxy.ts similarity index 100% rename from src/core/blitzkit/withCORSProxy.ts rename to packages/website/src/core/blitzkit/withCORSProxy.ts diff --git a/src/core/blitzstars/getBlitzStarsLinkButton.ts b/packages/website/src/core/blitzstars/getBlitzStarsLinkButton.ts similarity index 100% rename from src/core/blitzstars/getBlitzStarsLinkButton.ts rename to packages/website/src/core/blitzstars/getBlitzStarsLinkButton.ts diff --git a/src/core/blitzstars/getPlayerHistories.ts b/packages/website/src/core/blitzstars/getPlayerHistories.ts similarity index 93% rename from src/core/blitzstars/getPlayerHistories.ts rename to packages/website/src/core/blitzstars/getPlayerHistories.ts index 5d876ebd0..c34834c53 100644 --- a/src/core/blitzstars/getPlayerHistories.ts +++ b/packages/website/src/core/blitzstars/getPlayerHistories.ts @@ -1,3 +1,4 @@ +import { emptyAllStats } from '@blitzkit/core/src/blitzstars/getStatsInPeriod/constants'; import { Region } from '../../constants/regions'; import { GetHistoriesOptions, @@ -7,7 +8,6 @@ import { } from '../../types/histories'; import { getAccountInfo } from '../blitz/getAccountInfo'; import { PlayerStats } from './getPlayerStats'; -import { emptyAllStats } from './getStatsInPeriod/constants'; export default async function getPlayerHistories( server: Region, @@ -23,7 +23,7 @@ export default async function getPlayerHistories( ({ all: history.statistics.all, last_battle_time: history.last_battle_time, - }) satisfies History, + } satisfies History), ); let lastNonCompliantIndex = -1; let hasCompliedOnce = false; diff --git a/src/core/blitzstars/getPlayerStats.ts b/packages/website/src/core/blitzstars/getPlayerStats.ts similarity index 100% rename from src/core/blitzstars/getPlayerStats.ts rename to packages/website/src/core/blitzstars/getPlayerStats.ts diff --git a/src/core/blitzstars/tankAverages.ts b/packages/website/src/core/blitzstars/tankAverages.ts similarity index 100% rename from src/core/blitzstars/tankAverages.ts rename to packages/website/src/core/blitzstars/tankAverages.ts diff --git a/src/core/discord/addClanChoices.ts b/packages/website/src/core/discord/addClanChoices.ts similarity index 100% rename from src/core/discord/addClanChoices.ts rename to packages/website/src/core/discord/addClanChoices.ts diff --git a/src/core/discord/addFilterOptions.ts b/packages/website/src/core/discord/addFilterOptions.ts similarity index 100% rename from src/core/discord/addFilterOptions.ts rename to packages/website/src/core/discord/addFilterOptions.ts diff --git a/src/core/discord/addPeriodSubCommands.ts b/packages/website/src/core/discord/addPeriodSubCommands.ts similarity index 100% rename from src/core/discord/addPeriodSubCommands.ts rename to packages/website/src/core/discord/addPeriodSubCommands.ts diff --git a/src/core/discord/addPeriodicFilterOptions.ts b/packages/website/src/core/discord/addPeriodicFilterOptions.ts similarity index 100% rename from src/core/discord/addPeriodicFilterOptions.ts rename to packages/website/src/core/discord/addPeriodicFilterOptions.ts diff --git a/src/core/discord/addRegionChoices.ts b/packages/website/src/core/discord/addRegionChoices.ts similarity index 100% rename from src/core/discord/addRegionChoices.ts rename to packages/website/src/core/discord/addRegionChoices.ts diff --git a/src/core/discord/addTankChoices.ts b/packages/website/src/core/discord/addTankChoices.ts similarity index 100% rename from src/core/discord/addTankChoices.ts rename to packages/website/src/core/discord/addTankChoices.ts diff --git a/src/core/discord/addTierChoices.ts b/packages/website/src/core/discord/addTierChoices.ts similarity index 89% rename from src/core/discord/addTierChoices.ts rename to packages/website/src/core/discord/addTierChoices.ts index 15de98aa6..b3029115e 100644 --- a/src/core/discord/addTierChoices.ts +++ b/packages/website/src/core/discord/addTierChoices.ts @@ -1,3 +1,4 @@ +import numberToRomanNumeral from '@blitzkit/core/src/math/numberToRomanNumeral'; import { APIApplicationCommandOptionChoice, Locale, @@ -5,7 +6,6 @@ import { } from 'discord.js'; import { range } from 'lodash'; import { translator } from '../localization/translator'; -import numberToRomanNumeral from '../math/numberToRomanNumeral'; import { localizationObject } from './localizationObject'; export default function addTierChoices(option: SlashCommandStringOption) { @@ -31,7 +31,7 @@ export default function addTierChoices(option: SlashCommandStringOption) { 'bot.common.options.tier.choices.tier', [`${tier}`, numberToRomanNumeral(tier)], ), - }) satisfies APIApplicationCommandOptionChoice, + } satisfies APIApplicationCommandOptionChoice), ), ) .setRequired(true); diff --git a/src/core/discord/addUsernameChoices.ts b/packages/website/src/core/discord/addUsernameChoices.ts similarity index 100% rename from src/core/discord/addUsernameChoices.ts rename to packages/website/src/core/discord/addUsernameChoices.ts diff --git a/src/core/discord/autocompleteClan/constants.ts b/packages/website/src/core/discord/autocompleteClan/constants.ts similarity index 100% rename from src/core/discord/autocompleteClan/constants.ts rename to packages/website/src/core/discord/autocompleteClan/constants.ts diff --git a/src/core/discord/autocompleteClan/index.ts b/packages/website/src/core/discord/autocompleteClan/index.ts similarity index 100% rename from src/core/discord/autocompleteClan/index.ts rename to packages/website/src/core/discord/autocompleteClan/index.ts diff --git a/src/core/discord/autocompleteTanks.ts b/packages/website/src/core/discord/autocompleteTanks.ts similarity index 100% rename from src/core/discord/autocompleteTanks.ts rename to packages/website/src/core/discord/autocompleteTanks.ts diff --git a/src/core/discord/autocompleteUsername.ts b/packages/website/src/core/discord/autocompleteUsername.ts similarity index 100% rename from src/core/discord/autocompleteUsername.ts rename to packages/website/src/core/discord/autocompleteUsername.ts diff --git a/src/core/discord/buttonLink.ts b/packages/website/src/core/discord/buttonLink.ts similarity index 100% rename from src/core/discord/buttonLink.ts rename to packages/website/src/core/discord/buttonLink.ts diff --git a/src/core/discord/buttonPrimary.ts b/packages/website/src/core/discord/buttonPrimary.ts similarity index 100% rename from src/core/discord/buttonPrimary.ts rename to packages/website/src/core/discord/buttonPrimary.ts diff --git a/src/core/discord/buttonRefresh.ts b/packages/website/src/core/discord/buttonRefresh.ts similarity index 100% rename from src/core/discord/buttonRefresh.ts rename to packages/website/src/core/discord/buttonRefresh.ts diff --git a/src/core/discord/client.ts b/packages/website/src/core/discord/client.ts similarity index 100% rename from src/core/discord/client.ts rename to packages/website/src/core/discord/client.ts diff --git a/src/core/discord/commandToURL.ts b/packages/website/src/core/discord/commandToURL.ts similarity index 100% rename from src/core/discord/commandToURL.ts rename to packages/website/src/core/discord/commandToURL.ts diff --git a/src/core/discord/createLocalizedCommand.ts b/packages/website/src/core/discord/createLocalizedCommand.ts similarity index 100% rename from src/core/discord/createLocalizedCommand.ts rename to packages/website/src/core/discord/createLocalizedCommand.ts diff --git a/src/core/discord/embedInfo.ts b/packages/website/src/core/discord/embedInfo.ts similarity index 100% rename from src/core/discord/embedInfo.ts rename to packages/website/src/core/discord/embedInfo.ts diff --git a/src/core/discord/embedNegative.ts b/packages/website/src/core/discord/embedNegative.ts similarity index 100% rename from src/core/discord/embedNegative.ts rename to packages/website/src/core/discord/embedNegative.ts diff --git a/src/core/discord/embedPositive.ts b/packages/website/src/core/discord/embedPositive.ts similarity index 100% rename from src/core/discord/embedPositive.ts rename to packages/website/src/core/discord/embedPositive.ts diff --git a/src/core/discord/embedWarning.ts b/packages/website/src/core/discord/embedWarning.ts similarity index 100% rename from src/core/discord/embedWarning.ts rename to packages/website/src/core/discord/embedWarning.ts diff --git a/src/core/discord/getCustomPeriodParams.ts b/packages/website/src/core/discord/getCustomPeriodParams.ts similarity index 100% rename from src/core/discord/getCustomPeriodParams.ts rename to packages/website/src/core/discord/getCustomPeriodParams.ts diff --git a/src/core/discord/getFiltersFromButton.ts b/packages/website/src/core/discord/getFiltersFromButton.ts similarity index 100% rename from src/core/discord/getFiltersFromButton.ts rename to packages/website/src/core/discord/getFiltersFromButton.ts diff --git a/src/core/discord/getFiltersFromCommand.ts b/packages/website/src/core/discord/getFiltersFromCommand.ts similarity index 100% rename from src/core/discord/getFiltersFromCommand.ts rename to packages/website/src/core/discord/getFiltersFromCommand.ts diff --git a/src/core/discord/getPeriodOptionName.ts b/packages/website/src/core/discord/getPeriodOptionName.ts similarity index 100% rename from src/core/discord/getPeriodOptionName.ts rename to packages/website/src/core/discord/getPeriodOptionName.ts diff --git a/src/core/discord/localizationObject.ts b/packages/website/src/core/discord/localizationObject.ts similarity index 100% rename from src/core/discord/localizationObject.ts rename to packages/website/src/core/discord/localizationObject.ts diff --git a/src/core/discord/manager.ts b/packages/website/src/core/discord/manager.ts similarity index 100% rename from src/core/discord/manager.ts rename to packages/website/src/core/discord/manager.ts diff --git a/src/core/discord/markdownTable.ts b/packages/website/src/core/discord/markdownTable.ts similarity index 100% rename from src/core/discord/markdownTable.ts rename to packages/website/src/core/discord/markdownTable.ts diff --git a/src/core/discord/normalizeInteractionReturnable.ts b/packages/website/src/core/discord/normalizeInteractionReturnable.ts similarity index 100% rename from src/core/discord/normalizeInteractionReturnable.ts rename to packages/website/src/core/discord/normalizeInteractionReturnable.ts diff --git a/src/core/discord/psa.ts b/packages/website/src/core/discord/psa.ts similarity index 100% rename from src/core/discord/psa.ts rename to packages/website/src/core/discord/psa.ts diff --git a/src/core/discord/resolveClanFromCommand.ts b/packages/website/src/core/discord/resolveClanFromCommand.ts similarity index 100% rename from src/core/discord/resolveClanFromCommand.ts rename to packages/website/src/core/discord/resolveClanFromCommand.ts diff --git a/src/core/discord/resolvePeriodFromButton.ts b/packages/website/src/core/discord/resolvePeriodFromButton.ts similarity index 100% rename from src/core/discord/resolvePeriodFromButton.ts rename to packages/website/src/core/discord/resolvePeriodFromButton.ts diff --git a/src/core/discord/resolvePeriodFromCommand.ts b/packages/website/src/core/discord/resolvePeriodFromCommand.ts similarity index 100% rename from src/core/discord/resolvePeriodFromCommand.ts rename to packages/website/src/core/discord/resolvePeriodFromCommand.ts diff --git a/src/core/discord/resolvePlayerFromButton.ts b/packages/website/src/core/discord/resolvePlayerFromButton.ts similarity index 100% rename from src/core/discord/resolvePlayerFromButton.ts rename to packages/website/src/core/discord/resolvePlayerFromButton.ts diff --git a/src/core/discord/resolvePlayerFromCommand/constants.ts b/packages/website/src/core/discord/resolvePlayerFromCommand/constants.ts similarity index 100% rename from src/core/discord/resolvePlayerFromCommand/constants.ts rename to packages/website/src/core/discord/resolvePlayerFromCommand/constants.ts diff --git a/src/core/discord/resolvePlayerFromCommand/index.ts b/packages/website/src/core/discord/resolvePlayerFromCommand/index.ts similarity index 100% rename from src/core/discord/resolvePlayerFromCommand/index.ts rename to packages/website/src/core/discord/resolvePlayerFromCommand/index.ts diff --git a/src/core/github/assetCommit.ts b/packages/website/src/core/github/assetCommit.ts similarity index 100% rename from src/core/github/assetCommit.ts rename to packages/website/src/core/github/assetCommit.ts diff --git a/src/core/localization/strings/constants.ts b/packages/website/src/core/localization/strings/constants.ts similarity index 68% rename from src/core/localization/strings/constants.ts rename to packages/website/src/core/localization/strings/constants.ts index d3e372cf3..5b849f363 100644 --- a/src/core/localization/strings/constants.ts +++ b/packages/website/src/core/localization/strings/constants.ts @@ -1,3 +1 @@ -import { Locale } from 'discord.js'; - export const SUPPORTED_LOCALES: Locale[] = [Locale.EnglishUS, Locale.SpanishES]; diff --git a/src/core/localization/strings/index.ts b/packages/website/src/core/localization/strings/index.ts similarity index 92% rename from src/core/localization/strings/index.ts rename to packages/website/src/core/localization/strings/index.ts index b2c679268..12d16255a 100644 --- a/src/core/localization/strings/index.ts +++ b/packages/website/src/core/localization/strings/index.ts @@ -1,4 +1,3 @@ -import { Locale } from 'discord.js'; import { SUPPORTED_LOCALES } from './constants'; export type TranslationFragmentTree = { diff --git a/src/core/localization/translator.ts b/packages/website/src/core/localization/translator.ts similarity index 100% rename from src/core/localization/translator.ts rename to packages/website/src/core/localization/translator.ts diff --git a/src/core/nivo/theme.ts b/packages/website/src/core/nivo/theme.ts similarity index 100% rename from src/core/nivo/theme.ts rename to packages/website/src/core/nivo/theme.ts diff --git a/src/core/three/discardClippingPlane.ts b/packages/website/src/core/three/discardClippingPlane.ts similarity index 100% rename from src/core/three/discardClippingPlane.ts rename to packages/website/src/core/three/discardClippingPlane.ts diff --git a/packages/website/src/hooks/useArmor.ts b/packages/website/src/hooks/useArmor.ts index 31bc8e6ba..e199a57ef 100644 --- a/packages/website/src/hooks/useArmor.ts +++ b/packages/website/src/hooks/useArmor.ts @@ -1,6 +1,5 @@ import { ObjectMap, useLoader } from '@react-three/fiber'; import { GLTF, GLTFLoader } from 'three-stdlib'; -import { asset } from '../core/blitzkit/asset'; const cache: Record< number, diff --git a/packages/website/src/hooks/useEquipment.ts b/packages/website/src/hooks/useEquipment.ts index 871dab509..c9cc931f5 100644 --- a/packages/website/src/hooks/useEquipment.ts +++ b/packages/website/src/hooks/useEquipment.ts @@ -1,6 +1,6 @@ +import { equipmentDefinitions } from '@blitzkit/core'; import { use, useMemo } from 'react'; -import * as Duel from '../../packages/website/src/stores/duel'; -import { equipmentDefinitions } from '../core/blitzkit/equipmentDefinitions'; +import * as Duel from '../stores/duel'; export function useEquipment(id: number, antagonist = false) { const awaitedEquipmentDefinitions = use(equipmentDefinitions); diff --git a/packages/website/src/hooks/useTankModelDefinition.ts b/packages/website/src/hooks/useTankModelDefinition.ts index 0c6102cf3..0da6613b7 100644 --- a/packages/website/src/hooks/useTankModelDefinition.ts +++ b/packages/website/src/hooks/useTankModelDefinition.ts @@ -1,6 +1,6 @@ 'use client'; -import * as TankopediaEphemeral from '../../packages/website/src/stores/tankopediaEphemeral'; +import * as TankopediaEphemeral from '../stores/tankopediaEphemeral'; export function useTankModelDefinition() { return TankopediaEphemeral.use((state) => state.model); diff --git a/packages/website/src/hooks/useTankTransform.ts b/packages/website/src/hooks/useTankTransform.ts index b86ec21c6..11a0897b9 100644 --- a/packages/website/src/hooks/useTankTransform.ts +++ b/packages/website/src/hooks/useTankTransform.ts @@ -1,13 +1,6 @@ import { RefObject, useEffect } from 'react'; import { Euler, Group, Vector3 } from 'three'; import { degToRad } from 'three/src/math/MathUtils'; -import { DuelMember } from '../../packages/website/src/stores/duel'; -import { I_HAT, J_HAT, K_HAT } from '../constants/axis'; -import { correctZYTuple } from '../core/blitz/correctZYTuple'; -import { - ModelTransformEventData, - modelTransformEvent, -} from '../core/blitzkit/modelTransform'; import { useTankModelDefinition } from './useTankModelDefinition'; export function useTankTransform( diff --git a/packages/website/src/stores/duel/index.ts b/packages/website/src/stores/duel/index.ts index 0e404081b..7dfb3cfb1 100644 --- a/packages/website/src/stores/duel/index.ts +++ b/packages/website/src/stores/duel/index.ts @@ -1,9 +1,5 @@ 'use client'; -import { createNextSafeStore } from '@blitzkit/core/src/zustand/createNextSafeStore'; -import { create } from 'zustand'; -import { subscribeWithSelector } from 'zustand/middleware'; -import { ProvisionDefinitions } from '../../../../../src/core/blitzkit/provisionDefinitions'; import { EngineDefinition, GunDefinition, @@ -11,8 +7,12 @@ import { TankDefinition, TrackDefinition, TurretDefinition, -} from '../../../../../src/core/blitzkit/tankDefinitions'; -import { tankToDuelMember } from '../../../../../src/core/blitzkit/tankToDuelMember'; +} from '@blitzkit/core'; +import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { createNextSafeStore } from '@blitzkit/core/src/zustand/createNextSafeStore'; +import { create } from 'zustand'; +import { subscribeWithSelector } from 'zustand/middleware'; +import { tankToDuelMember } from '../../core/blitzkit/tankToDuelMember'; type EquipmentMatrixItem = -1 | 0 | 1; type EquipmentMatrixRow = [ diff --git a/packages/website/src/stores/tankopediaEphemeral.ts b/packages/website/src/stores/tankopediaEphemeral.ts index 02de4153b..b7fb5bea4 100644 --- a/packages/website/src/stores/tankopediaEphemeral.ts +++ b/packages/website/src/stores/tankopediaEphemeral.ts @@ -1,13 +1,10 @@ 'use client'; +import { createNextSafeStore } from '@blitzkit/core'; import { Vector3 } from 'three'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; import { XP_MULTIPLIERS } from '../app/tools/tankopedia/[id]/components/Model/TechTreeSection'; -import { ArmorType } from '../components/Armor/components/SpacedArmorScene'; -import { ExternalModuleVariant } from '../components/Armor/components/SpacedArmorSceneComponent'; -import { ModelDefinition } from '../core/blitzkit/modelDefinitions'; -import { createNextSafeStore } from '../core/zustand/createNextSafeStore'; interface TankopediaEphemeral { shot?: Shot; diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 4f414a554..e2d911191 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -1,10 +1,6 @@ { "compilerOptions": { - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], + "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "strict": false, @@ -26,9 +22,8 @@ "next-env.d.ts", "dist/website/types/**/*.ts", "**/*.ts", - "**/*.tsx" + "**/*.tsx", + "../core/src/blitz/permanentSkills.tsx" ], - "exclude": [ - "node_modules" - ] + "exclude": ["node_modules"] } diff --git a/src/types/glsl.d.ts b/packages/website/types/glsl.d.ts similarity index 100% rename from src/types/glsl.d.ts rename to packages/website/types/glsl.d.ts diff --git a/scripts/buildAssets/definitions.ts b/scripts/buildAssets/definitions.ts index 36086d049..93362aa0b 100644 --- a/scripts/buildAssets/definitions.ts +++ b/scripts/buildAssets/definitions.ts @@ -1,3 +1,4 @@ +import { SkillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; import { readdir } from 'fs/promises'; import { parse as parsePath } from 'path'; import { Vector3Tuple } from 'three'; @@ -30,7 +31,6 @@ import { ProvisionDefinitions, ProvisionEntry, } from '../../src/core/blitzkit/provisionDefinitions'; -import { SkillDefinitions } from '../../src/core/blitzkit/skillDefinitions'; import { superCompress } from '../../src/core/blitzkit/superCompress'; import { Crew, @@ -826,8 +826,8 @@ export async function definitions() { treeType: tankTags.includes('collectible') ? 'collector' : (typeof tank.price === 'number' ? false : 'gold' in tank.price) - ? 'premium' - : 'researchable', + ? 'premium' + : 'researchable', tier: tank.level as Tier, class: tankTags[0] as TankClass, testing: tankTags.includes('testTank'), @@ -1122,8 +1122,8 @@ export async function definitions() { gun.armor.gun === undefined ? 0 : typeof gun.armor.gun === 'number' - ? gun.armor.gun - : gun.armor.gun['#text'], + ? gun.armor.gun + : gun.armor.gun['#text'], pitch: { min: gunPitch[0], max: gunPitch[1], @@ -1173,7 +1173,7 @@ export async function definitions() { type: blitzShellKindToBlitzkit[shell.kind], explosionRadius: shell.kind === 'HIGH_EXPLOSIVE' - ? (shell.explosionRadius ?? 0) + ? shell.explosionRadius ?? 0 : undefined, icon: shell.icon, penetration: diff --git a/src/commands/breakdown/render.tsx b/src/commands/breakdown/render.tsx index 727ba5a06..3cde58f48 100644 --- a/src/commands/breakdown/render.tsx +++ b/src/commands/breakdown/render.tsx @@ -1,3 +1,4 @@ +import getStatsInPeriod from '@blitzkit/core/src/blitzstars/getStatsInPeriod'; import { Locale } from 'discord.js'; import { chunk } from 'lodash'; import * as Breakdown from '../../components/Breakdown'; @@ -12,7 +13,6 @@ import { TankDefinition, tankDefinitions, } from '../../core/blitzkit/tankDefinitions'; -import getStatsInPeriod from '../../core/blitzstars/getStatsInPeriod'; import { tankAverages } from '../../core/blitzstars/tankAverages'; import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand'; import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand'; diff --git a/src/commands/fullStats.tsx b/src/commands/fullStats.tsx index 0bb317aa5..c73fd759c 100644 --- a/src/commands/fullStats.tsx +++ b/src/commands/fullStats.tsx @@ -1,3 +1,4 @@ +import getStatsInPeriod from '@blitzkit/core/src/blitzstars/getStatsInPeriod'; import { Locale } from 'discord.js'; import CommandWrapper from '../components/CommandWrapper'; import GenericAllStats from '../components/GenericAllStats'; @@ -9,7 +10,6 @@ import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo'; import { emblemURL } from '../core/blitzkit/emblemURL'; import { filtersToDescription } from '../core/blitzkit/filtersToDescription'; import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton'; -import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod'; import addPeriodicFilterOptions from '../core/discord/addPeriodicFilterOptions'; import addUsernameChoices from '../core/discord/addUsernameChoices'; import autocompleteTanks from '../core/discord/autocompleteTanks'; diff --git a/src/commands/stats.tsx b/src/commands/stats.tsx index 6ea70d8e4..68b883bf5 100644 --- a/src/commands/stats.tsx +++ b/src/commands/stats.tsx @@ -1,3 +1,4 @@ +import getStatsInPeriod from '@blitzkit/core/src/blitzstars/getStatsInPeriod'; import { Locale } from 'discord.js'; import AllStatsOverview from '../components/AllStatsOverview'; import CommandWrapper from '../components/CommandWrapper'; @@ -8,7 +9,6 @@ import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo'; import { emblemURL } from '../core/blitzkit/emblemURL'; import { filtersToDescription } from '../core/blitzkit/filtersToDescription'; import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton'; -import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod'; import addPeriodicFilterOptions from '../core/discord/addPeriodicFilterOptions'; import addUsernameChoices from '../core/discord/addUsernameChoices'; import autocompleteTanks from '../core/discord/autocompleteTanks'; diff --git a/src/components/AllStatsOverview/index.tsx b/src/components/AllStatsOverview/index.tsx index 2763d434f..c1b4e86c5 100644 --- a/src/components/AllStatsOverview/index.tsx +++ b/src/components/AllStatsOverview/index.tsx @@ -1,5 +1,5 @@ +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Locale } from 'discord.js'; -import { Percentile } from '../../constants/percentiles'; import { SupplementaryStats } from '../../core/blitz/getAccountInfo'; import { translator } from '../../core/localization/translator'; import getWN8Percentile from '../../core/statistics/getWN8Percentile'; diff --git a/src/components/Breakdown/components/Row.tsx b/src/components/Breakdown/components/Row.tsx index c3c6e2ad6..c0443dc7d 100644 --- a/src/components/Breakdown/components/Row.tsx +++ b/src/components/Breakdown/components/Row.tsx @@ -1,5 +1,5 @@ +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { createColors } from 'bepaint'; -import { Percentile } from '../../../constants/percentiles'; import { AccentColor, GrayColor, @@ -82,8 +82,8 @@ export function Row({ ? treeType === 'collector' ? theme.textLowContrast_blue : treeType === 'premium' - ? theme.textLowContrast_amber - : theme.textHighContrast + ? theme.textLowContrast_amber + : theme.textHighContrast : theme.textLowContrast, fontWeight: 900, fontSize: 16, diff --git a/src/components/Breakdown/components/RowStat.tsx b/src/components/Breakdown/components/RowStat.tsx index 7ba8935a9..628beefb5 100644 --- a/src/components/Breakdown/components/RowStat.tsx +++ b/src/components/Breakdown/components/RowStat.tsx @@ -1,5 +1,5 @@ +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { createColors } from 'bepaint'; -import { Percentile } from '../../../constants/percentiles'; import { AccentColor, GrayColor, diff --git a/src/components/GenericAllStats/components/Card.tsx b/src/components/GenericAllStats/components/Card.tsx index 26d9399d2..57b125535 100644 --- a/src/components/GenericAllStats/components/Card.tsx +++ b/src/components/GenericAllStats/components/Card.tsx @@ -1,4 +1,4 @@ -import { Percentile } from '../../../constants/percentiles'; +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { theme } from '../../../stitches.config'; import PercentileIndicator from '../../PercentileIndicator'; diff --git a/src/components/GenericAllStats/index.tsx b/src/components/GenericAllStats/index.tsx index fe495bb63..f9ab67bf6 100644 --- a/src/components/GenericAllStats/index.tsx +++ b/src/components/GenericAllStats/index.tsx @@ -1,7 +1,7 @@ +import isNumber from '@blitzkit/core/src/math/isNumber'; import { Locale } from 'discord.js'; import { SupplementaryStats } from '../../core/blitz/getAccountInfo'; import { translator } from '../../core/localization/translator'; -import isNumber from '../../core/math/isNumber'; import { BlitzStats } from '../../core/statistics/compositeStats/constants'; import getWN8Percentile from '../../core/statistics/getWN8Percentile'; import { Card } from './components/Card'; diff --git a/src/components/GenericStats/index.tsx b/src/components/GenericStats/index.tsx index 08a376db0..377cdde94 100644 --- a/src/components/GenericStats/index.tsx +++ b/src/components/GenericStats/index.tsx @@ -1,4 +1,4 @@ -import { Percentile } from '../../constants/percentiles'; +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import GenericStatsColumn from './components/GenericStatsColumn'; export type GenericStat = diff --git a/src/components/PercentileIndicator/constants.ts b/src/components/PercentileIndicator/constants.ts index ae4fface8..f3e119859 100644 --- a/src/components/PercentileIndicator/constants.ts +++ b/src/components/PercentileIndicator/constants.ts @@ -1,3 +1,4 @@ +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { amber, blue, @@ -10,7 +11,6 @@ import { slate, teal, } from '@radix-ui/colors'; -import { Percentile } from '../../constants/percentiles'; export const PERCENTILE_COLORS = { [Percentile.VeryBad]: slate.slate9, diff --git a/src/components/PercentileIndicator/index.tsx b/src/components/PercentileIndicator/index.tsx index 2099966a3..d2a1f1a94 100644 --- a/src/components/PercentileIndicator/index.tsx +++ b/src/components/PercentileIndicator/index.tsx @@ -1,4 +1,4 @@ -import { Percentile } from '../../constants/percentiles'; +import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { PERCENTILE_COLORS } from './constants'; interface PercentileIndicatorProps { diff --git a/src/core/blitzstars/getStatsInPeriod/constants.ts b/src/core/blitzstars/getStatsInPeriod/constants.ts deleted file mode 100644 index bee13b582..000000000 --- a/src/core/blitzstars/getStatsInPeriod/constants.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BlitzStats } from '../../statistics/compositeStats/constants'; - -export const emptyAllStats: BlitzStats = { - battles: 0, - capture_points: 0, - damage_dealt: 0, - damage_received: 0, - dropped_capture_points: 0, - frags: 0, - frags8p: 0, - hits: 0, - losses: 0, - max_frags: 0, - max_xp: 0, - shots: 0, - spotted: 0, - survived_battles: 0, - xp: 0, - win_and_survived: 0, - wins: 0, -}; diff --git a/src/core/protobuf/decode.ts b/src/core/protobuf/decode.ts deleted file mode 100644 index e8cf5f9ef..000000000 --- a/src/core/protobuf/decode.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { lookup, ProtoSource } from './lookup'; - -export function decode( - source: ProtoSource, - type: string, - data: Uint8Array, -) { - return lookup(source, type).decode(data).toJSON() as Type; -} diff --git a/src/core/protobuf/encodeToBase64.ts b/src/core/protobuf/encodeToBase64.ts deleted file mode 100644 index b9a367e32..000000000 --- a/src/core/protobuf/encodeToBase64.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { encode } from './encode'; -import { ProtoSource } from './lookup'; - -export async function encodeToBase64( - source: ProtoSource, - type: string, - data: any, -) { - const array = encode(source, type, data); - return Buffer.from(array).toString('base64'); -} diff --git a/src/core/protobuf/lookup.ts b/src/core/protobuf/lookup.ts deleted file mode 100644 index 4d876836e..000000000 --- a/src/core/protobuf/lookup.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { parse } from 'protobufjs'; -import average_definitions from '../../../public/protos/average_definitions.proto'; -import reviews from '../../../public/protos/reviews.proto'; - -export type ProtoSource = keyof typeof protos; - -const protos = { reviews, average_definitions }; - -export function lookup(source: ProtoSource, type: string) { - return parse(protos[source]).root.lookupType(type); -} diff --git a/src/types/tanksStats.ts b/src/types/tanksStats.ts index 8e6be2059..053d4440a 100644 --- a/src/types/tanksStats.ts +++ b/src/types/tanksStats.ts @@ -1,4 +1,4 @@ -import { emptyAllStats } from '../core/blitzstars/getStatsInPeriod/constants'; +import { emptyAllStats } from '@blitzkit/core/src/blitzstars/getStatsInPeriod/constants'; import { BlitzStats } from '../core/statistics/compositeStats/constants'; export interface IndividualTankStats { diff --git a/tsconfig.json b/tsconfig.json index 3bfc1c040..2e222fed8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -47,7 +47,38 @@ "packages/core/src/blitzkit/modelDefinitions.ts", "packages/core/src/blitzkit/camouflageDefinitions.ts", "packages/core/src/blitzkit/filterTank.ts", - "packages/core/src/blitzkit/tankIcon.ts" + "packages/core/src/blitzkit/tankIcon.ts", + "packages/core/src/blitzkit/consumableDefinitions.ts", + "packages/core/src/blitzkit/eventManager.ts", + "packages/core/src/blitzkit/provisionDefinitions.ts", + "packages/core/src/radix/var.ts", + "packages/core/src/blitzkit/equipmentDefinitions.ts", + "packages/website/src/components/Armor", + "packages/website/types/glsl.d.ts", + "packages/core/src/blitzkit/uniqueGuns.ts", + "packages/core/src/blitzkit/averageDefinitions", + "packages/core/src/protobuf", + "packages/core/src/blitzstars/getStatsInPeriod", + "packages/core/src/statistics/percentiles.ts", + "packages/core/src/math", + "packages/website/src/components/EquipmentManager.tsx", + "packages/website/src/components/ModuleButtons", + "packages/core/src/blitzkit/availableProvisions.ts", + "packages/website/src/components/ProvisionsManager.tsx", + "packages/website/src/components/ModuleManager.tsx", + "packages/website/src/components/CrewSkillManager.tsx", + "packages/website/src/components/ConsumablesManager.tsx", + "packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts", + "packages/core/src/blitzkit/skillDefinitions.ts", + "packages/core/src/blitzkit/createDefaultSkills.ts", + "packages/core/src/blitzkit/tankCharacteristics.ts", + "packages/core/src/blitzkit/coefficient.ts", + "packages/core/src/blitzkit/sum.ts", + "packages/core/src/blitzkit/resolvePenetrationCoefficient.ts", + "packages/core/src/blitzkit/isExplosive.ts", + "packages/core/src/blitzkit/reviews.ts", + "packages/core/src/blitzkit/youtubers.ts", + "packages/core/src/blitzkit/modelTransform.ts" ], "exclude": ["node_modules/**/*", "dist", "scripts"] }