From 232f24181ffaa14a9cdca676ba6a08b790b2b84b Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 21:02:50 -0500 Subject: [PATCH] feat: some guessing mechanics --- bun.lockb | Bin 449718 -> 450105 bytes package.json | 5 +- packages/i18n/strings/en.json | 7 +- .../src/components/Embeds/GenerateURL.tsx | 20 +-- .../website/src/components/SearchResults.tsx | 34 ++++ .../TankSandbox/components/Control.tsx | 10 +- .../pages/[...locale]/tools/guess/_index.tsx | 78 ++++----- .../tools/guess/components/GuessRenderer.tsx | 30 +++- .../tools/guess/components/Guesser.tsx | 151 ++++++++++++++++++ .../pages/[...locale]/tools/guess/index.astro | 6 +- 10 files changed, 265 insertions(+), 76 deletions(-) create mode 100644 packages/website/src/components/SearchResults.tsx create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx diff --git a/bun.lockb b/bun.lockb index 8f11b01683be10c24507114269c2ffd59298cda7..8beb97ef4488af9ec4722018e29f93e5c2140201 100644 GIT binary patch delta 88145 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 TT%l>lPM+=BIeB)nJQe>RH9k?m delta 87665 zcmeFZdsJ1`{{Ow#)~$P`n3g4IWLB0`Se6Nfu+36I#Y<^|MTJU&iWks?%CNgubX(aJ zi^@}-G>_dasjTcKly<*>MP*m5tgI}ptmpM!bAg;QI(?tt7~kLX$1~icz2Ecmnzzrq zuDRC2YM$!$SWUMZdMA~|uR32q0ph|Ol+0&2KGT{F7|=wBiIL55I7|Oiv_Tc4KkDm z8O}lz;pu31v==IeI-y`%}RXkQ`~Uysdy z3o7`jh$HYaiCy$rR1piwrIyZ}TQnII`V?CQ%`TM{3RRIwb|R&!WpQXn^jo+px`rQ> z`#jyGo+`{QojGqtD6|qod<`l`rp%mG;a6~5knnS2<;d08`=J-3s%Q$TmR>@^aℜ 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۴lRR@2?SNveEt{fQOm>r=@CS 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 jb0t%IZ#WZey*b92JEe*q-d1 diff --git a/package.json b/package.json index a47611087..e46eb0ea3 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,10 @@ }, "license": "MIT", "dependencies": { - "sharp": "^0.33.5", "googleapis": "^144.0.0", - "lodash-es": "^4.17.21" + "lodash-es": "^4.17.21", + "quicklime": "^1.2.0", + "sharp": "^0.33.5" }, "devDependencies": { "@types/bun": "latest", diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index f94d49d59..5633a9794 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -857,7 +857,12 @@ "name": "Guess the tank", "button": "Guess away", "description": "Silhouette mini-game", - "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz" + "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz", + "search": { + "placeholder": "Type to guess...", + "button": "Guess", + "no_results": "No results" + } }, "tankopedia": { diff --git a/packages/website/src/components/Embeds/GenerateURL.tsx b/packages/website/src/components/Embeds/GenerateURL.tsx index fcbca17c8..eef5bfeae 100644 --- a/packages/website/src/components/Embeds/GenerateURL.tsx +++ b/packages/website/src/components/Embeds/GenerateURL.tsx @@ -6,7 +6,6 @@ import { import { literals } from '@blitzkit/i18n/src/literals'; import { CaretLeftIcon, Link2Icon, PersonIcon } from '@radix-ui/react-icons'; import { - Badge, Button, Dialog, Flex, @@ -22,6 +21,7 @@ import type { embedConfigurations } from '../../constants/embeds'; import { useLocale } from '../../hooks/useLocale'; import { EmbedState, type EmbedStateStore } from '../../stores/embedState'; import { CopyButton } from '../CopyButton'; +import { SearchResults } from '../SearchResults'; interface GenerateURLProps { embed: keyof typeof embedConfigurations; @@ -118,25 +118,19 @@ export function GenerateURL({ embed }: GenerateURLProps) { )} {!searching && results.length > 0 && ( - + {results.map((result) => ( - + /> ))} - + )} diff --git a/packages/website/src/components/SearchResults.tsx b/packages/website/src/components/SearchResults.tsx new file mode 100644 index 000000000..821394068 --- /dev/null +++ b/packages/website/src/components/SearchResults.tsx @@ -0,0 +1,34 @@ +import { + Badge, + Button, + Flex, + type ButtonProps, + type FlexProps, +} from '@radix-ui/themes'; +import type { ReactNode } from 'react'; + +function Root(props: FlexProps) { + return ; +} + +interface ItemProps extends ButtonProps { + text: string; + discriminator?: ReactNode; +} + +function Item({ text, discriminator, ...props }: ItemProps) { + return ( + + ); +} + +export const SearchResults = { Root, Item }; diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 2d457af59..90221f211 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -36,6 +36,7 @@ interface ControlsProps { autoRotate?: boolean; zoomable?: boolean; enableRotate?: boolean; + distanceScale?: number; } export function Controls({ @@ -43,6 +44,7 @@ export function Controls({ autoRotate = true, zoomable = true, enableRotate = true, + distanceScale = 1, }: ControlsProps) { const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const display = TankopediaEphemeral.use((state) => state.display); @@ -94,11 +96,11 @@ export function Controls({ protagonistHullOrigin.y + protagonistTurretOrigin.y + protagonistGunOrigin.y; - const inspectModeInitialPosition = [ + const inspectModeInitialPosition = new Vector3( -8, gunHeight + (naked ? 10 : 2), -13, - ] as const; + ).multiplyScalar(distanceScale); const protagonistGunOriginOnlyY = new Vector3( 0, protagonistTurretModelDefinition.gun_origin.y, @@ -203,7 +205,7 @@ export function Controls({ } case Pose.Default: { - camera.position.set(...inspectModeInitialPosition); + camera.position.copy(inspectModeInitialPosition); orbitControls.current?.target.set(0, 1.25, 0); break; } @@ -312,7 +314,7 @@ export function Controls({ .add(shellOrigin); } } else { - camera.position.set(...inspectModeInitialPosition); + camera.position.copy(inspectModeInitialPosition); orbitControls.current.target.set(0, gunHeight / (naked ? 4 : 2), 0); orbitControls.current.enablePan = true; orbitControls.current.enableZoom = true; diff --git a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx index 3d8def1f8..7ef48b173 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx @@ -3,9 +3,14 @@ import { awaitableModelDefinitions } from '../../../../core/awaitables/modelDefi import { awaitableProvisionDefinitions } from '../../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../../core/awaitables/tankDefinitions'; import { Var } from '../../../../core/radix/var'; +import { + LocaleProvider, + type LocaleAcceptorProps, +} from '../../../../hooks/useLocale'; import { Duel } from '../../../../stores/duel'; import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral'; import { GuessRenderer } from './components/GuessRenderer'; +import { Guesser } from './components/Guesser'; const [tankDefinitions, modelDefinitions, provisionDefinitions] = await Promise.all([ @@ -16,17 +21,19 @@ const [tankDefinitions, modelDefinitions, provisionDefinitions] = const ids = Object.keys(tankDefinitions.tanks); -export function Page() { +export function Page({ locale }: LocaleAcceptorProps) { const id = Number(ids[Math.floor(Math.random() * ids.length)]); const tank = tankDefinitions.tanks[id]; const model = modelDefinitions.models[id]; return ( - - - - - + + + + + + + ); } @@ -39,54 +46,31 @@ function Content() { backgroundColor: Var('cyan-3'), }} > - - - - - - - - - - b - + /> + + + + + + ); } diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx index ee8dfcd81..9efb18f3a 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx @@ -1,4 +1,5 @@ import { Canvas, invalidate } from '@react-three/fiber'; +import { type QuicklimeCallback, Quicklime } from 'quicklime'; import { useCallback, useEffect, useRef } from 'react'; import { Fog } from 'three'; import { Controls } from '../../../../../components/Tankopedia/HeroSection/components/TankSandbox/components/Control'; @@ -7,15 +8,17 @@ import { TankModel } from '../../../../../components/Tankopedia/HeroSection/comp import { Var } from '../../../../../core/radix/var'; import { TankopediaDisplay } from '../../../../../stores/tankopediaPersistent/constants'; -const nearConcealed = -40; +const nearConcealed = -45; const farConcealed = 22; -const nearRevealed = 20; -const farRevealed = 22; +const nearRevealed = 25; +const farRevealed = 25; const animationDuration = 1; +export const revealEvent = new Quicklime(); + export function GuessRenderer() { const fog = useRef(new Fog('black', nearConcealed, farConcealed)); - const reveal = useCallback(() => { + const reveal = useCallback((show: boolean) => { const t0 = Date.now() / 1000; function frame() { @@ -30,14 +33,27 @@ export function GuessRenderer() { invalidate(); - if (y < 1) requestAnimationFrame(frame); + if (y < 1) { + requestAnimationFrame(frame); + } else { + fog.current.near = nearRevealed; + fog.current.far = farRevealed; + } } requestAnimationFrame(frame); }, []); useEffect(() => { - setTimeout(reveal, 2000); + const handleRevealEvent: QuicklimeCallback = ({ data }) => { + reveal(data); + }; + + revealEvent.on(handleRevealEvent); + + return () => { + revealEvent.off(handleRevealEvent); + }; }, []); return ( @@ -48,7 +64,7 @@ export function GuessRenderer() { camera={{ position: [-5, 5, -5] }} scene={{ fog: fog.current }} > - + diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx new file mode 100644 index 000000000..17bb18d07 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx @@ -0,0 +1,151 @@ +import { + SEARCH_KEYS, + TankDefinition, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; +import { MagnifyingGlassIcon, PaperPlaneIcon } from '@radix-ui/react-icons'; +import { + Box, + Button, + Card, + Flex, + Spinner, + Text, + TextField, +} from '@radix-ui/themes'; +import fuzzysort from 'fuzzysort'; +import { debounce } from 'lodash-es'; +import { useCallback, useRef, useState } from 'react'; +import { classIcons } from '../../../../../components/ClassIcon'; +import { SearchResults } from '../../../../../components/SearchResults'; +import { awaitableTankDefinitions } from '../../../../../core/awaitables/tankDefinitions'; +import { awaitableTankNames } from '../../../../../core/awaitables/tankNames'; +import { useLocale } from '../../../../../hooks/useLocale'; +import { revealEvent } from './GuessRenderer'; + +const { go } = fuzzysort; + +const [tankNames, tankDefinitions] = await Promise.all([ + awaitableTankNames, + awaitableTankDefinitions, +]); + +export function Guesser() { + const { strings, unwrap } = useLocale(); + const input = useRef(null); + const [searching, setSearching] = useState(false); + const [results, setResults] = useState(null); + const [selected, setSelected] = useState(null); + + const requestSearch = useCallback(() => { + setSelected(null); + setSearching(true); + search(); + }, []); + const search = useCallback( + debounce(() => { + if (!input.current) return; + + setSearching(false); + const trimmed = input.current.value.trim(); + + if (trimmed.length === 0) { + setResults(null); + return; + } + + const searchResults = go(trimmed, tankNames, { + keys: SEARCH_KEYS, + limit: 6, + }); + + setResults( + searchResults.map((result) => tankDefinitions.tanks[result.obj.id]), + ); + }, 500), + [], + ); + + return ( + + {results !== null && ( + + + {results.length === 0 && ( + + + {strings.website.tools.guess.search.no_results} + + + )} + + + {results.map((result) => { + const Icon = classIcons[result.class]; + + return ( + { + if (!input.current) return; + + input.current.value = unwrap(result.name); + setSelected(result); + setResults(null); + }} + text={unwrap(result.name)} + discriminator={ + + + {TIER_ROMAN_NUMERALS[result.tier]} + + } + /> + ); + })} + + + + )} + + + + + {searching ? : } + + + + + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/index.astro b/packages/website/src/pages/[...locale]/tools/guess/index.astro index b53bd7755..0aeff805e 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/index.astro +++ b/packages/website/src/pages/[...locale]/tools/guess/index.astro @@ -4,10 +4,12 @@ import BaseLayout from '../../../../layouts/BaseLayout.astro'; import { Page } from './_index'; export { getStaticPaths } from '../../index.astro'; + +const { locale } = Astro.params; --- - - + +