From e68b4bea5dd3ee8aa1c71cfb78b01352ab78989f Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 10 Nov 2024 22:19:05 -0600 Subject: [PATCH] fix: reintroduce some frame invalidations --- .../Armor/components/PrimaryArmorSceneComponent/index.tsx | 6 ------ .../website/src/components/Armor/components/ShotDisplay.tsx | 6 +++--- .../components/SpacedArmorSubExternal/index.tsx | 5 ----- .../components/SpacedArmorSubSpaced/index.tsx | 4 ---- .../components/Options/components/DynamicArmorSwitcher.tsx | 1 - .../Tankopedia/HeroSection/components/Options/index.tsx | 3 --- .../components/TankSandbox/components/TankModel.tsx | 4 ++-- packages/website/src/core/blitzkit/modelTransform.ts | 3 --- 8 files changed, 5 insertions(+), 27 deletions(-) diff --git a/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx index 8ad7a1304..fbdd1411a 100644 --- a/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx +++ b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx @@ -85,8 +85,6 @@ export function PrimaryArmorSceneComponent({ true, ); - // console.log('handleShellChange'); - invalidate(); } function handleGreenPenetrationChange(greenPenetration: boolean) { @@ -94,8 +92,6 @@ export function PrimaryArmorSceneComponent({ } function handleOpaqueChange(opaque: boolean) { material.uniforms.opaque.value = opaque; - - // invalidate(); } function handleWireframeChange(wireframe: boolean) { material.wireframe = wireframe; @@ -185,8 +181,6 @@ export function PrimaryArmorSceneComponent({ spacedArmorRenderTarget.depthTexture; material.uniforms.inverseProjectionMatrix.value = camera.projectionMatrixInverse; - - // invalidate(); }); return ( diff --git a/packages/website/src/components/Armor/components/ShotDisplay.tsx b/packages/website/src/components/Armor/components/ShotDisplay.tsx index 4674f5560..859b7bc6d 100644 --- a/packages/website/src/components/Armor/components/ShotDisplay.tsx +++ b/packages/website/src/components/Armor/components/ShotDisplay.tsx @@ -1,7 +1,7 @@ import { J_HAT, K_HAT } from '@blitzkit/core'; import { Box, Flex, Text } from '@radix-ui/themes'; import { Html } from '@react-three/drei'; -import { useFrame } from '@react-three/fiber'; +import { invalidate, useFrame } from '@react-three/fiber'; import { clamp } from 'lodash-es'; import { useEffect, useRef, type ComponentProps } from 'react'; import { @@ -105,7 +105,7 @@ export function ShotDisplay() { outTracer.current.position.set(0, tracerT2 * outLength, 0); } - // invalidate(); + invalidate(); } if ( @@ -122,7 +122,7 @@ export function ShotDisplay() { splashRadiusWrapper.current.scale.set(scale, scale, scale); splashRadiusMaterial.current.opacity = opacity; - // invalidate(); + invalidate(); } }); diff --git a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx index 34f19bcb4..983692e2a 100644 --- a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx @@ -53,7 +53,6 @@ export function SpacedArmorSubExternal({ const tankopediaEphemeral = tankopediaEphemeralStore.getState(); const shell = tankopediaEphemeral.customShell ?? duel.antagonist.shell; material.uniforms.penetration.value = shell.penetration.near; - // invalidate(); } async function handleProtagonistEquipmentChange( equipment: EquipmentMatrix, @@ -67,8 +66,6 @@ export function SpacedArmorSubExternal({ material.uniforms.thickness.value = hasEnhancedArmor ? thickness * 1.03 : thickness; - - // invalidate(); } async function handleAntagonistEquipmentChange(equipment: EquipmentMatrix) { const duel = duelStore.getState(); @@ -84,8 +81,6 @@ export function SpacedArmorSubExternal({ material.uniforms.penetration.value = penetration * resolvePenetrationCoefficient(hasCalibratedShells, shell.type); - - // invalidate(); } handleShellChange(); diff --git a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx index 7d5561cc1..3c3904e71 100644 --- a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx @@ -63,8 +63,6 @@ export function SpacedArmorSubSpaced({ material.uniforms.normalization.value = degToRad( shell.normalization ?? 0, ); - - // invalidate(); } async function handleProtagonistEquipmentChange( equipment: EquipmentMatrix, @@ -78,8 +76,6 @@ export function SpacedArmorSubSpaced({ material.uniforms.thickness.value = hasEnhancedArmor ? thickness * 1.03 : thickness; - - // invalidate(); } async function handleAntagonistEquipmentChange(equipment: EquipmentMatrix) { const duel = duelStore.getState(); diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/DynamicArmorSwitcher.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/DynamicArmorSwitcher.tsx index b64c216c4..d4db0de6d 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/DynamicArmorSwitcher.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/DynamicArmorSwitcher.tsx @@ -21,7 +21,6 @@ export function DynamicArmorSwitcher() { variant="soft" size={{ initial: '2', sm: '3' }} onClick={() => { - // invalidate(); mutateDuel((draft) => { if (draft.protagonist.consumables.includes(73)) { draft.protagonist.consumables = diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx index f27650112..347ead024 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx @@ -201,7 +201,6 @@ export function Options({ thicknessRange, canvas }: OptionsProps) { size={{ initial: '2', sm: '3' }} radius="none" onClick={() => { - // invalidate(); mutateDuel((draft) => { draft.antagonist.shell = thisShell; }); @@ -239,7 +238,6 @@ export function Options({ thicknessRange, canvas }: OptionsProps) { size={{ initial: '2', sm: '3' }} radius="none" onClick={() => { - // invalidate(); mutateDuel((draft) => { draft.antagonist.equipmentMatrix[0][0] = hasCalibratedShells ? 0 @@ -265,7 +263,6 @@ export function Options({ thicknessRange, canvas }: OptionsProps) { size={{ initial: '2', sm: '3' }} radius="none" onClick={() => { - // invalidate(); mutateDuel((draft) => { draft.protagonist.equipmentMatrix[1][1] = hasEnhancedArmor ? 0 diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx index b3a9619a5..a85f67678 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx @@ -1,5 +1,5 @@ import { normalizeAngleRad } from '@blitzkit/core'; -import { useThree, type ThreeEvent } from '@react-three/fiber'; +import { invalidate, useThree, type ThreeEvent } from '@react-three/fiber'; import { memo, useRef } from 'react'; import { Group, Mesh, MeshStandardMaterial, Vector2 } from 'three'; import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawLimits'; @@ -55,7 +55,7 @@ export const TankModel = memo(() => { if (!material) return; - // invalidate(); + invalidate(); if (material.map) material.map.offset.y += offset; if (material.aoMap) material.aoMap.offset.y += offset; diff --git a/packages/website/src/core/blitzkit/modelTransform.ts b/packages/website/src/core/blitzkit/modelTransform.ts index 94fdca87b..a858b4900 100644 --- a/packages/website/src/core/blitzkit/modelTransform.ts +++ b/packages/website/src/core/blitzkit/modelTransform.ts @@ -6,6 +6,3 @@ export interface ModelTransformEventData { } export const modelTransformEvent = new EventManager(); -modelTransformEvent.on(() => { - // invalidate(); -});