Seramate PvP Inspect

Player's Ratings, Titles and PvP Experience tooltips. Just hover.

File Details

v2026.07.14.3

  • R
  • Jul 14, 2026
  • 4.88 MB
  • 59
  • 12.0.7
  • Retail

File Name

Seramate-v2026.07.14.3.zip

Supported Versions

  • 12.0.7

Seramate PvP Inspect

v2026.07.14.3 (2026-07-14)

Full Changelog Previous Releases

  • Cleanups from review: shared EMPTY for absent brackets, dedupe test helper
    Records with no c/e field memoize one shared read-only EMPTY table
    instead of allocating a fresh per viewed record; the decode tests
    reuse the hoisted flatten/allEnabled helpers instead of inline copies.
    Co-Authored-By: Claude Fable 5 noreply@anthropic.com
  • Decode packed bracket ratings lazily (c/e strings)
    Same treatment as the title dictionary: records ship c="v2=1840,sh=2405"
    / e="..." instead of cur/exp sub-tables, decoded and memoized on first
    lookup. With titles this leaves zero per-record tables in the loaded DB
    — only the record itself. Measured on the real EU export vs the current
    prod format: heap 116.6 -> 38.1 MB, tables 702K -> 104K, full GC cycle
    ~74 -> ~27 ms. Legacy records (cur/exp already tables) pass through
    untouched; E2E-verified by decoding all 47K horde records of a
    converted prod file through the real lookup path.
    Co-Authored-By: Claude Fable 5 noreply@anthropic.com
  • Decode titles lazily from a per-file dictionary (t="1,5,9" refs)
    The bundled DBs shipped one {n,w} table per title per character (~340K
    tables/region, 64% of file bytes for only 318 unique titles), and WoW's
    GC re-marks every live table each cycle — the cause of reported FPS
    degradation minutes into a session. Records now carry one flat index
    string into the file's .T dictionary; Keys.lookup decodes on first view
    and memoizes, reusing the dictionary entry tables.
    Measured on the real EU export (tools/bench-db.lua, interleaved
    min-of-15): heap 116.6 -> 61.4 MB, tables 702K -> 293K, full GC cycle
    ~69 -> ~39 ms, login parse 0.38 -> 0.21 s. Old-format DBs still work
    (decode skips records whose titles are already tables).
    Co-Authored-By: Claude Fable 5 noreply@anthropic.com