LibSemanticData
LibSemanticData-1.0 is a lightweight, dependency-free library for exchanging structured and semantically described data between World of Warcraft addons.
Instead of exposing only preformatted display text, addons can publish well-defined providers, fields and values. Consumer addons can then decide how that data should be displayed, formatted or combined.
LibSemanticData itself provides no user interface.
Features
- Provider → Field → Value data model
- Typed fields:
textnumberintegerpercentmoneydurationbooleanstatusprogress
singleandentityscopes- Localized metadata with mandatory
enUSfallback - Static and dynamic field icons
- Provider settings and setting sections
- Provider actions and field interactions
- Origin metadata for data derived from other sources
- Support for LibDataBroker-1.1 origin information
- Event callbacks for providers, fields, values, settings, actions and icon changes
- Atomic multi-value updates
- No LibStub or CallbackHandler dependency
- UI-neutral by design
For Addon Authors
LibSemanticData separates data semantics from presentation.
A producer addon describes what a value represents. A consumer addon decides how it should look.
Typical use cases include:
- Bag slot information
- Currencies and money values
- Experience and progress
- Locations and coordinates
- Performance statistics
- Repair information
- Character-specific or entity-based data
This allows multiple addons to exchange structured information without forcing a specific display format or user interface.
Deutsch
LibSemanticData-1.0 ist eine schlanke, abhängigkeitsfreie Bibliothek zum Austausch strukturierter und semantisch beschriebener Daten zwischen World-of-Warcraft-Addons.
Statt ausschließlich bereits formatierten Anzeigetext bereitzustellen, können Addons klar definierte Provider, Fields und Values veröffentlichen. Consumer-Addons entscheiden anschließend selbst, wie diese Daten dargestellt, formatiert oder miteinander kombiniert werden.
LibSemanticData besitzt selbst keine Benutzeroberfläche.
Funktionen
- Datenmodell Provider → Field → Value
- Typisierte Fields:
textnumberintegerpercentmoneydurationbooleanstatusprogress
- Scopes
singleundentity - Lokalisierbare Metadaten mit verpflichtendem
enUS-Fallback - Statische und dynamische Field-Icons
- Provider-Einstellungen und Einstellungsbereiche
- Provider-Actions und Field-Interaktionen
- Herkunftsinformationen für aus anderen Quellen abgeleitete Daten
- Unterstützung für LibDataBroker-1.1 als Datenursprung
- Event-Callbacks für Provider, Fields, Values, Einstellungen, Actions und Icon-Änderungen
- Atomare Aktualisierung mehrerer Werte
- Keine Abhängigkeit von LibStub oder CallbackHandler
- Bewusst UI-neutral aufgebaut
Für Addon-Entwickler
LibSemanticData trennt die Bedeutung von Daten von ihrer Darstellung.
Ein Producer-Addon beschreibt, was ein Wert bedeutet. Ein Consumer-Addon entscheidet, wie dieser Wert dargestellt wird.
Mögliche Anwendungsfälle sind zum Beispiel:
- Taschenplätze
- Währungen und Geldbeträge
- Erfahrung und Fortschritt
- Zonen und Koordinaten
- Leistungsdaten
- Reparaturinformationen
- charakterbezogene oder andere entity-basierte Daten
Dadurch können verschiedene Addons strukturierte Informationen austauschen, ohne ein bestimmtes Anzeigeformat oder eine bestimmte Benutzeroberfläche vorzugeben.

