Expand description
Canonical TOML schema for engine spec and items manifests.
use wowlab_manifest_schema::{ScalarRef, SpellScalarField};
let scalar: ScalarRef = toml::from_str(
"spell_id = 61304\nfield = \"gcd_ms\"\nmultiplier = 0.8",
)?;
assert!(matches!(
scalar,
ScalarRef::SpellRef {
field: SpellScalarField::GcdMs,
..
}
));Modules§
- aura 🔒
- Aura authoring schema and scalar-reference traversal.
- combat 🔒
- manifest 🔒
- Root manifest documents and top-level sections.
- periodic 🔒
- Periodic aura components.
- repository 🔒
- Filesystem-backed manifest discovery and loading.
- repository_
composition 🔒 - TOML component parsing, ordered composition, and shared-section patching.
- scalar 🔒
- Literal and game-data-backed scalar values.
- spell 🔒
- Spell and auto-attack authoring schema.
- validation 🔒
- Symbolic reference validation for composed manifests.
Structs§
- AoeDef
AoEshape on acrate::ManifestSpellDef.- Auto
Attack Def [auto_attacks.<name>]block describing a swing-driven physical hit.- Channel
Def - Channel behavior on a
crate::ManifestSpellDef. - Content
Effect Coverage - Explicit coverage for an opaque spell effect that requires spec or item content.
- Damage
Effect Def - One exact DBC trigger edge appended to a spell’s ordered damage program.
- Effect
Ref [effects.<NAME>]— a named(spell_id, effect_index)pair read by the spec hooks.- Empower
Def - Structured empower behavior for a spell definition.
- Extend
Aura Def - Impact
Proc Def - Item
Impact Hook Def - An item hook driven by landed player damage impacts.
- Item
Manifest Entry - One entry in
[items.*]. - Items
Manifest - Top-level shape of
crates/engine/manifests/items.toml. - Manifest
- Fully composed shape of a
manifests/specs/<class>/<specialization>/manifest.tomlentry. - Manifest
Aura Def [auras.<name>]block describing a single registered aura.- Manifest
Hero Talent Tree - One hero talent tree under
[hero_talents.<name>]. - Manifest
Repository - Canonical filesystem-backed source for spec, shared, and item manifests.
- Manifest
Spell Def [spells.<name>]block describing a single registered spell.- Mastery
Section [mastery]section: the spec’s mastery spell and the hook path that applies it.- Metric
Keys Section - Optional
[metric_keys]block declaring the engine-side metric enum. - OnCrit
Reduce Charge - Charge-reduction proc fired on an
AutoAttackDef’s crits. - Periodic
Apply Aura - Periodic aura-apply component on an
crate::ManifestAuraDef. - Periodic
Damage - Periodic damage component on an
crate::ManifestAuraDef. - Periodic
Hook - Hook-only periodic component on an
crate::ManifestAuraDef(pure pulse window). - Periodic
Remove Stack - Periodic stack-decay component on an
crate::ManifestAuraDef. - Periodic
Residual Damage - Periodic drain for a post-mitigation residual damage pool.
- Periodic
Resource - Periodic resource-gain component on an
crate::ManifestAuraDef. - Periodic
Resource Drain - Periodic resource-drain component on an
crate::ManifestAuraDef. - Reduces
Cd - Cooldown reduction that fires unconditionally on a
ManifestSpellDef’s cast. - Reduces
CdChance - Probabilistic cooldown reduction triggered on a
ManifestSpellDef’s cast. - Resets
CdWhile - Conditional cooldown reset on a
ManifestSpellDefwhile the named aura is active. - Resource
Section [resource]block describing the spec’s primary resource;max/regen/starts_atderive fromgame.power_typeswhen omitted.- Rotation
Schema - Optional
[rotation_schema]block listing rotation-state fields the spec exposes. - Secondary
Resource Section [secondary_resource]block describing the spec’s secondary resource;maxderives fromgame.power_typeswhen omitted.- Shared
Bindings - Bindings a shared manifest can expose to hand-authored shared hooks.
- Shared
Manifest Path - A shared manifest path discovered below a class-local
shareddirectory. - Spec
Section [spec]block identifying the spec.- Spell
Group Def - Group of auras that share a runtime rule.
- Spell
Scoped Pct - A per-stack percent magnitude scoped to a list of manifest spell names.
- Spell
Scoped Value - A scalar magnitude scoped to a list of manifest spell names.
- Stacking
Damage Mult - Additive damage fractions for an aura whose first stack differs from later stacks.
- Talent
Gated Aura Effect Def - A
[[talent_gated_aura_effects]]entry for a talent-conditional DBC aura effect. - Tick
Cost AltDef - Aura-conditional alternative tick cost for a
ChannelDef. - Tick
Cost Def - Per-tick resource cost for a
ChannelDef. - Tick
Damage AltDef - Aura-conditional alternative damage payload for a channel tick.
Enums§
- Channel
Damage Type - Combat result classification for a channel’s child tick action.
- Content
Effect Status - How content accounts for an opaque DBC spell effect.
- Damage
School Kind - Armor-relevant damage school category used by manifest-authored payloads.
- Event
Effect Def - Impact
Proc HitDef - Impact
Proc Phase Def - Impact
Proc RngDef - Manifest
Aura Tick Behavior - Manifest
Damage Def - Damage payload on a
crate::ManifestSpellDeforChannelDef::tick_damage. - Manifest
Diagnostic - Structural problem found while validating a composed manifest.
- Manifest
Diagnostic Location - Typed location of a structural manifest diagnostic.
- Manifest
Load Error - Error returned while discovering, reading, composing, or parsing manifests.
- Manifest
Proc Attribute - Authored server-side
SpellProcEntryattribute. - Manifest
Reference Kind - Kind of manifest entry targeted by a symbolic reference.
- Periodic
Damage Mode - Governs periodic-damage refresh behavior.
- Scalar
Field - Game-data field a
ScalarRef::EffectRefresolves against. - Scalar
Ref - A scalar coefficient that is either a literal or a reference resolved from game data.
- Spell
Group Rule - Governs how auras in a spell group interact.
- Spell
Scalar Field - Resolved spell property a
ScalarRef::SpellRefreads.
Constants§
- CURRENT_
SCHEMA_ VERSION - Current manifest schema version.