How pentsec/atlas-inspector works
Atlas Inspector is a local WoW atlas and texture inspection workbench: users look up a FileDataID/build, inspect regions or texture metadata, then define or scan regions and export Lua/JSON. The browser uses the v1 API; the server resolves upstream data and caches results. Separate branches cover local canvas editing, addon-code scanning, alpha-island and texture analysis, and the optional MCP agent interface. The README documents these capabilities; sampled excerpts show selected wiring, so unsampled route-to-service links are omitted where ownership is uncertain.
Main entry points: v1.ts Versioned API · main.ts UI event wiring · client.ts API client · repo.ts Atlas repository
Components 25
Browser workbench
- UI event wiring
src/client/main.ts - API client
src/client/api/client.ts - View state
src/client/state/store.ts - Canvas rendering
src/client/canvas/draw.ts - Region editing
src/client/define/regions.ts - Region list
src/client/ui/list.ts - Scan panel
src/client/ui/scan.ts
API and data
- Fastify application
src/server/app.ts - Versioned API
src/server/routes/v1.ts - Legacy API
src/server/routes/legacy.ts - Atlas repository
src/server/services/repo.ts - Wago source
src/server/adapters/wagoSource.ts - Disk cache
src/server/lib/cache.ts - Listfile search
src/server/services/search.ts - BLP decoding
src/server/services/decodeService.ts - BLP decoder adapter
src/server/adapters/pinta365Blp.ts
Region analysis
- Addon scanner
src/shared/scan.ts - Alpha islands
src/shared/islands.ts - Lua exporters
src/shared/lua.ts - Wire schemas
src/shared/schemas.ts
Agent interface
- MCP server
src/mcp/server.ts - Atlas tools
src/mcp/tools.ts - MCP API client
src/mcp/client.ts
Other components
- Inspector user
- MCP client
Connections 29
- Inspector user → UI event wiring: uses
- UI event wiring → API client: requests
- UI event wiring → View state: updates
- UI event wiring → Canvas rendering: renders
- UI event wiring → Region editing: edits
- UI event wiring → Region list: renders
- UI event wiring → Scan panel: renders
- API client → Versioned API: HTTP requests
- Fastify application → Versioned API: registers
- Fastify application → Legacy API: registers
- Versioned API → Atlas repository: resolves atlases
- Atlas repository → Wago source: fetches data
- Atlas repository → Disk cache: reads/writes
- Versioned API → Listfile search: searches
- Listfile search → Disk cache: reads/writes
- Versioned API → BLP decoding: decodes BLP
- BLP decoding → BLP decoder adapter: decodes
- BLP decoding → Disk cache: caches PNG
- Versioned API → Alpha islands: analyzes alpha
- Versioned API → Addon scanner: scans source
- Versioned API → Lua exporters: formats export
- API client → Wire schemas: uses contracts
- Versioned API → Wire schemas: validates
- Scan panel → Addon scanner: analyzes locally
- Region list → Lua exporters: formats regions
- MCP client → MCP server: connects
- MCP server → Atlas tools: registers tools
- Atlas tools → MCP API client: invokes
- MCP API client → Versioned API: HTTP requests