WoW Toolbox

Game Dev
2026-05-12T06:35:59Z
TypeScriptRustElectronReactThree.js

WoW Toolbox Editor is a comprehensive desktop application built for WoW content creators, server administrators, and modders. It replaces scattered command-line tools and manual database queries with a unified suite of 25+ visual editors for game content creation and modification, supporting multiple WoW expansions and server cores including TrinityCore and AzerothCore.

The frontend is built with React 19 and TypeScript, using Redux Toolkit for state management (handling 50k+ spell datasets), Three.js with React Three Fiber for 3D model/map rendering, and Tailwind CSS for the UI. A Rust native addon compiled via NAPI-RS handles performance-critical operations. DBC parsing runs 5-15x faster than JavaScript, and SQL generation is 20-50x faster for bulk operations, with 46 specialized parsers covering every game system.

Integrated LLM-powered helpers speed up content authoring. Creators can auto-generate custom spell names, item descriptions, NPC dialogue, and lore text directly inside the relevant editors, with the model suggestions reviewed and refined before being written back to the database.

The app includes Supabase-powered authentication with role-based access control, Stripe subscription entitlements tied to auth sessions, secure secret handling via environment variables, a hardened Electron shell (context isolation enabled, remote calls over HTTPS), auto-updates via GitHub releases, and cross-platform support for Windows, macOS, and Linux.

  • 25+ visual editors: spells, items, talents, quests, NPCs, factions, achievements, and more
  • LLM-assisted content generation: auto-names custom spells, items, and NPCs, and drafts descriptions and lore to speed up authoring
  • Interactive 3D map editor with Three.js and React Three Fiber
  • M2 model viewer and editor for WoW character/creature models
  • DBC file manager with import/export, batch operations, diff tool, and 100+ schema definitions
  • Custom class creator with stat curves and ability trees
  • High-performance Rust native addon (NAPI-RS) with 46 DBC parsers, 5-15x faster than JS
  • Streaming I/O for large files with parallel processing via Rayon
  • Supabase authentication with role-based access control and Stripe-tied subscription entitlements
  • Hardened Electron shell: context isolation, HTTPS-only remote calls, and environment-based secret handling
  • Cross-platform: Windows, macOS, and Linux with auto-updates
  • Direct MySQL integration for TrinityCore and AzerothCore databases
§ System Architecture

Three views of the same system

Solo-built fullstack desktop platform. Same architecture at three depths — start glanceable, drill in as far as you want.

Switch views 1 2 3

Overview: at-a-glance summary of the WoW Toolbox stack and feature coverage
FIG 01 Overview
§ Engineering Notes

What's actually inside

Three-process model

Renderer (Vite + React 19) never touches the OS or native code directly. Every cross-boundary call is a typed Electron IPC contract — 18 handler modules, contextBridge whitelist, no nodeIntegration. Hot paths drop into a Rust native addon for DBC parsing and delta auto-save.

Hot paths · measured

DBC parse + cache~50 ms in Rust vs ~2.5 s in JS. Moved 46 DBC parsers off-main-thread.

Delta auto-save with WAL~5–15 ms vs ~700–800 ms IPC roundtrip. Native addon writes a write-ahead log, replays on crash, flushes batched diffs.

Profiled before optimizing — the JS DBC reader was the bottleneck blocking 50k-record table loads, not the renderer.

Multi-tenant data

Per-user Supabase auth + entitlements drive subscription tiers. Direct MySQL profiles connect to game-server schemas — TrinityCore / AzerothCore auto-detected from characters + world table fingerprints. Credentials stored via safeStorage (OS keychain) through electron-store.

Shape of the codebase
Feature folders
39
Routed tools
30
DBC parsers
~46
UI primitives
80+
IPC modules
18

State split across Redux Toolkit (cached records), React Context (auth / admin / notifications), and React Query (server cache, 5 min stale / 30 min cache).