Expand description
Stable contracts between the simulation core and its adapters.
use wowlab_engine_ports::SpellId;
use wowlab_types::sim::SpellIdx;
let runtime_id = SpellIdx::from_raw(42);
let database_id = SpellId::try_from(runtime_id)?;
assert_eq!(database_id.as_i32(), 42);Modulesยง
- combat_
stats ๐ - content_
catalog ๐ - Link-time catalog for generated engine content.
- decision_
trace ๐ - Decision-trace port: typed channel from the rotation engine to consumers.
- encounter ๐
- Data-resolved encounter proof consumed by combat construction.
- error ๐
- game_
bugs ๐ - Central registry of modeled live-game bugs.
- progress ๐
- request ๐
- resolver ๐
- result ๐
- sim_
state ๐ - spatial ๐
- Narrow spatial-query boundary used by combat targeting.
- spec_
handler ๐ - spec_
metadata ๐ - Static spec declarations emitted from composed manifests.
- spec_
registry ๐ - spec_
state ๐ - Opaque per-spec configuration and resettable runtime-state extension points.
- test_
support - types ๐
- Spell-ID polarity newtypes for the engine-ports crate boundary.
Macrosยง
- define_
game_ bug - Declare a modeled live-game bug and register it with
inventory. - test_
spec_ handler - Supplies standard no-op
SpecHandlermethods for test doubles.
Structsยง
- Action
Evaluation - Per-action evaluation outcome.
- Aura
Event Ref - Aura identity and optional enemy target delivered to aura lifecycle handlers.
- BugSettings
- Raw bug-toggle input parsed from sim-config settings, unvalidated.
- BugToggles
- Resolved per-run bug toggles consulted by combat code.
- Cast
Latency - Deterministic mean input latency used by the cast scheduler.
- Chunk
Assignment - One chunk assignment from the sentinel/coordinator.
- Chunk
Report - Per-chunk simulation output.
- Combat
Stats - Primary and secondary combat stats; secondary/tertiary stats are percent points (25.0 == 25%), not fractions.
- Cone
Query - Directed cone query on one spatial layer.
- Consumable
Flags - Raid/consumable buffs toggled on for a sim run.
- Content
Catalog - Deterministic engine-content catalog injected through one link-time registration.
- Content
Catalog Error - Invalid or missing engine-content catalog data.
- Decision
- One decision recorded for a single
evaluate()call. - Decision
Trace - Full set of decisions captured during a single
evaluate()call. - Decision
Trace Target - Cloneable trace destination with shared ownership hidden at the port boundary.
- Declared
Passive Effect Override - The replacement value one passive effect really applies at, as
register_passive_effect_override. - Declared
Server Proc Entry - One manifest-authored server
SpellProcEntryoverlay. - Declared
Spec Metadata - Complete static metadata declared by one composed spec manifest.
- Declared
Spec Metadata Error - Invalid static metadata supplied to a spec descriptor.
- DynData
Resolver - Enchantment
Effect - One effect slot on an enchantment.
effect_type == 3means trigger spell. - Enchantment
Row - Resolved enchantment row from
game.enchantments. - Encounter
Construction Error - Failures while turning an authored encounter into combat-ready data.
- Engine
Construction Error - Typed engine-construction failure with its concrete lower-layer source.
- Engine
Error - Engine error categories.
- Equipped
Item - One equipped item carried into handler construction: resolved ilvl/quality (for item-budget-scaled buff magnitudes) plus its DBC use/equip effects.
- External
Buff Config - GameBug
- One deliberately modeled live-game behavior that diverges from spell data.
- Handler
Params - Named parameters for building a spec handler.
- Hero
Talent Tree Desc - Static description of one hero talent tree.
- Negative
IdError - Returned when converting a negative
SpellIdinto aSpellIdx. - Noop
Progress - No-op progress sink.
- Paperdoll
- Character sheet snapshot returned by
SpecHandler::paperdoll. - Paperdoll
Loadout - Loadout-derived fields in a character-sheet snapshot.
- Permanent
Enchant Query - Exact permanent-enchant lookup coordinates used by
SimCprofile decoding. - Progress
Done - Called when the chunk finishes.
- Progress
Start - Called at sim start with job metadata.
- Progress
Tick - Called periodically from the sim loop.
- Pull
Lifecycle Generation - Pull-local encounter generation (pull epoch plus lifecycle epoch) so prior events cannot match a newly active actor with the same identity.
- Pull
Scope - Pull identity and activation epoch shared by encounter lifecycle events.
- Radius
Query - Centered radius query on one spatial layer.
- Raid
Event Config - Resolve
Dependencies - One authored selector and the additional spell IDs it requires during resolution.
- Resolved
Encounter - Validated, resolver-backed encounter accepted by the combat runtime.
- Resolved
Enemy Combat Stats - Resolver-backed combat stats required to construct one enemy actor.
- Resolved
Enemy Encounter - Resolver-backed static stats and authored runtime metadata for one enemy.
- Resolved
Enemy Identity Metadata - Resolver-backed identity metadata for one enemy.
- Resolver
Error - Resolver failure with stable, situation-oriented construction and inspection APIs.
- SimContext
- Simulation state and telemetry sink passed to spec handler callbacks.
- SimRun
Error - Failure while driving one simulation iteration.
- SimState
- Runtime state container for one simulation iteration.
- Spatial
Actor - Dynamic actor point consumed by an index implementation.
- Spatial
Envelope - Axis-aligned broad-phase query envelope in world yards.
- Spatial
Query Error - Typed spatial-index maintenance failure.
- Spec
Descriptor - Per-spec registration record held by the engine-content catalog.
- Spec
Runtime Error - Fatal typed failure raised by a spec handler while processing one simulation event.
- SpellId
- Database-polarity (
i32) spell identifier matchingPostgRESTint4columns. - Spell
IdConversion Error - Returned when a runtime
SpellIdxexceeds the databaseint4range. - Spell
Search Result - Lightweight search result for spell lookups.
- Talent
Effect Override - Rank-specific adjustment for one effect on a selected talent spell.
- Talent
Selection - One talent picked from a decoded loadout.
- Timed
Event Schedule - VecSink
- In-memory sink used by tests and the WASM bridge.
- Weapon
Enchant Proc - Resolved TWW weapon-enchant proc ready for post-build registration.
Enumsยง
- Death
Event Scope - Scheduling scope for the shared target-aware death event.
- Encounter
Despawn Kind - Why a derived encounter despawn is being processed.
- Encounter
Termination Reason - The policy condition that ended an encounter iteration.
- Enemy
Despawn Outcome - Typed result of requesting the combat layer to despawn one exact enemy.
- Engine
Construction Stage - Construction stage that retained a lower-layer failure.
- Evaluation
Status - Why an action did or did not fire.
- Event
- Unified simulation event type.
- Raid
Event Kind - Spec
Action - Action returned by a spec handler during rotation evaluation.
- Weapon
Enchant Stat - Stat bucket a weapon-enchant proc buff grants.
Traitsยง
- Data
Resolver - Unified data resolver trait (
DynDataResolverrestores dyn polymorphism); method futures areSendbut notSync. - Decision
Trace Sink - Recipient of
Decisions emitted by the interpreter backend. - Progress
Sink - Progress reporting contract. Hosts implement throttling in their sink.
- Resolver
Sync Bound - Supertrait bound:
Syncoff-wasm (keeps&selfSend), unconstrained on single-threaded wasm. - Spatial
Query - Deterministic spatial queries over active enemy points and immutable blockers; implementations return sorted, deduplicated IDs.
- Spec
Config - Opaque per-spec configuration owned by a spec implementation.
- Spec
Handler - Executor contract: all spec interaction goes through this trait.
- Spec
Runtime - Opaque mutable per-spec state reset before every simulation iteration.
Functionsยง
- content_
catalog - Return the single linked engine-content catalog.
- registered_
game_ bugs - All registered bugs, sorted by slug.
- resolve_
bug_ toggles - Validate raw settings against the registry and freeze them for a run.
- select_
permanent_ enchant - Selects an entry using
SimCโs verbose-name alias and item-mask rules. - tokenize_
name - Tokenizes a display name for profile lookup.