npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pietrovich/wot-utils

v0.2.5

Published

CLI utilities for World of Tanks data and assets

Readme

pie-wot

A CLI toolkit for World of Tanks modders. Fetches fresh vehicle data from the Wargaming API, manipulates DDS textures and texture atlases, and generates custom icon sets — all from the terminal, no build step required.

The long-term goal is to make it trivial to maintain and publish a custom icon set: when new vehicles are added to the game or tank characteristics change, re-running a handful of commands should be enough to produce an updated, publish-ready set. The PogS icon set by @pavelmaca served as the reference implementation and first supported style.

Pre-baked, ready-to-use sets

If you just want the icons without running the pipeline yourself, pre-baked sets are published periodically at pietrovich/wot-pogs-like-icon-sets and kept in sync with game updates.

Install

npm install -g @pietrovich/wot-utils
cp .env.example .env  # add your WG_APP_ID

Get a free application ID at developers.wargaming.net.

Node.js ≥ 24 recommended. May work with older versions

Uninstall

npm uninstall -g @pietrovich/wot-utils

Commands

pie-wot vehicle list              # list vehicles from the WG encyclopedia (table)
pie-wot vehicle export            # save full vehicle data to JSON
pie-wot vehicle fetch-icons       # download official vehicle icons
pie-wot vehicle stats             # short-name character statistics
pie-wot vehicle best-config       # best module configuration per vehicle
pie-wot vehicle chars             # character distribution in short names

pie-wot game extract-icon-assets  # extract battle atlas files from a WoT installation
pie-wot game extract-icons        # (alias for extract-icon-assets)

pie-wot atlas inspect <map>       # list texture names in an atlas XML
pie-wot atlas pick <map> <img>    # extract a single named texture
pie-wot atlas extract             # extract all textures to a directory
pie-wot atlas pack                # pack a directory of PNGs into a texture atlas

pie-wot dds decode <file>         # decode a DDS texture to PNG
pie-wot dds encode <file>         # encode a PNG to DXT5/BC3 DDS

pie-wot icon dump-background      # generate per-type background images (PogS style)
pie-wot icon render <query>       # render a vehicle icon (use --simple for simplified variant)

pie-wot font render [font] [text] # render text as PNG using a pixel font

pie-wot cache purge               # clear the local WG API response cache

pie-wot bake <script>             # run a bundled build script (see below)

Vehicle commands accept --app-id <id> (overrides WG_APP_ID) and --no-cache.

bake

Runs a bundled shell script that drives the full icon-bake pipeline. All arguments after the script name are forwarded to the script unchanged.

pie-wot bake clear --src ./in/wot-2.3/ --out ./out/clear
pie-wot bake color --src ./in/wot-2.3/ --out ./out/color

Available scripts:

| Name | Description | |------|-------------| | clear | PogS clear variant (no colour background) | | color | PogS colour variant with DMG/FSR/VR/RLD labels |

Customizing battle atlases

To replace vehicle icons in the Player Panels on the battle screen, you need to work with the game's atlas files. These are large texture sheets containing many icons packed together, defined by an XML location map.

Step 1: Extract original atlases from the game installation

pie-wot game extract-icon-assets /path/to/wot /path/to/atlas-work

This extracts four files and converts the DDS textures to PNG for easier manipulation:

  • battleAtlas.dds (Player Panel icons)
  • battleAtlas.xml (location map)
  • battleAtlas.ddsbattleAtlas.png
  • vehicleMarkerAtlas.dds (vehicle marker icons)
  • vehicleMarkerAtlas.xml (location map)
  • vehicleMarkerAtlas.ddsvehicleMarkerAtlas.png

Step 2–4: Split, replace, reassemble

Use the XML files to split the atlases into individual icon pieces, replace them with your custom versions, and reassemble into new atlases. The final PNG can be saved with a .dds extension — the game will load PNG-compressed assets transparently, giving you better quality than DDS without needing to encode to DXT5.

Development

Running from source

No build step needed — tsx runs TypeScript directly:

npm start -- <command>
# e.g.
npm start -- vehicle list

Credits


GL, HF

wtfpl-badge-2.png