File Details
pom-beta.zip
- B
- Mar 13, 2026
- 15.50 MB
- 7
- 12.0.1
- Retail
File Name
pom-beta.zip
Supported Versions
- 12.0.1
Plate-o-Matic
Patch Notes – Current Refactor Pass
Core System
-
Unified addon namespace initialization across modules to prevent split-table bugs and nil reference issues.
-
Added strict read-only DB access pattern in mixins and UI modules.
-
Default values and migrations are now owned exclusively by
InitDB()inpom.lua.
-
Base Color System
New modern bucket support
Base color system now supports modern style keys while maintaining full backward compatibility.
New keys supported:
eliteCaster
eliteMelee
Legacy keys still supported automatically:
caster
melee
Automatic legacy fallback
When reading colors the system now resolves in this order:
eliteCaster -> caster
eliteMelee -> melee
This ensures old SavedVariables remain fully compatible.
Color Picker Improvements
Base color editor now:
-
Uses the Dragonflight color picker API
-
Properly supports opacity
-
Updates live while dragging the picker
-
Safely restores previous color on cancel
Write safety
Base colors are only written to the database when the user edits a color.
This prevents unnecessary DB bloat and respects the rule:
UI should not create defaults.
Reset behaviour
Resetting base colors now:
-
Restores modern keys
-
Also synchronizes legacy keys
-
Prevents mixed DB states during the migration period.
UI System
Base Colors UI
-
Window now operates in read-only mode by default
-
DB writes occur only through user actions (color pick/reset)
-
Refresh system added so swatches always reflect current DB state.
Configuration Window
Config UI improvements:
-
Dark UI theme with consistent backdrop handling
-
Safe backdrop system that works with both:
-
SetBackdrop -
ApplyBackdrop
-
This prevents frame errors on modern clients.
Skin selector improvements
Skin picker popup now:
-
Handles long skin lists safely
-
Highlights current skin
-
Avoids UI taint from dropdown templates.
Font selector improvements
Font picker popup now:
-
Highlights active font
-
Displays font names instead of paths
-
Supports bundled and Blizzard fonts.
Mixins System
Safe font handling
Added protected font application:
This prevents errors when:
-
font paths are invalid
-
fonts fail to load
-
DB contains broken values.
Fallback now safely uses:
Secret value safety
Threat percentage handling now safely detects Blizzard's secret number values introduced in modern clients.
This prevents UI errors when threat values are obfuscated.
Rare detection improvements
Added dedicated rare detection helper:
Supports:
rareelite
Displays:
RARE+
above nameplates.
Visual System
Target scaling
Target plates now apply scale multiplier cleanly:
targetScale
with correct arrow orientation support.
Neutral reaction color lock
Units with reaction 4 (neutral) now:
-
force neutral base color
-
ignore threat coloring
-
remain stable outside combat.
Threat display improvements
Threat percentage text now:
-
hides below configured threshold
-
uses dynamic color levels:
-
grey
-
yellow
-
red
-
-
safely handles secret values.
Safety Improvements
Tooltip scanning
Quest detection now uses:
with protected pattern matching.
Prevents tooltip parsing errors.
Health percent calculation
Health percentage now safely supports:
with fallback to manual calculation.
Unit safety guards
Several functions now verify:
UnitLevel()
UnitHealth()
before calculations to avoid nil errors during nameplate creation.
Code Stability Improvements
Added protections around:
-
font application
-
tooltip scanning
-
health calculations
-
threat percentage formatting
-
combat flash timers
These reduce common runtime errors during heavy nameplate updates.
What has NOT changed
The following systems remain unchanged:
-
threat logic
-
style resolver
-
instance logic
-
height system
-
skin textures
-
PvP module
-
scripts module
-
castbar module
-
specials module

