Expand description
Application-layer use cases for resolving and running WoW Lab simulations.
let stats = wowlab_engine_application::default_stats();
assert!(stats.attack_power > 0.0);ModulesΒ§
- audit π
- Shared manifest audit: validates spec manifest IDs and literals against game data.
- chunk_
executor π - Chunk execution loop.
target_erroris a fraction (0.05 = 5%), not a percent. - conflicts π
- Cross-checks between declared catalog metadata and runtime introspection.
- encounter π
- Canonical authored-to-combat encounter resolution boundary.
- enemies π
- Enemy-stat resolution: identity, health, armor, and damage budgets with typed provenance.
- error π
- game_
data π - Resolver orchestration that builds
ResolvedGameDatafor a spec. - gear π
- Gear resolution: items β stats, set bonuses, and weapons.
- intent_
builder π - Typestate builder for
SimRequest, exposing request-shape variants for benchmark-style callers. - introspection π
- iteration_
trace π - Projection of representative chunk telemetry into an iteration trace.
- paperdoll π
- Character-sheet (paperdoll) resolution: a sim config to a
ResolvedPaperdollfor tooltips. - resolved_
handler π - rotation_
validation π - Spec-aware rotation-name validation.
- settings π
- Sim-config parsing and raid/consumable/racial settings resolution.
- simulate_
intent π - Simulation-intent setup, handler construction, and execution entry points.
- simulate_
parallel π - Unified parallel simulation driver.
- talents π
- Talent-loadout resolution for simulation setup.
- weapon π
- Weapon damage scaling and weapon-enchant proc resolution.
StructsΒ§
- Action
Stat - Per-spell cast and damage stats.
- Application
Error - Typed, intentionally opaque failure from an application-layer use case.
- Audit
Issue - One audit finding for a single manifest ID or reference.
- Aura
Event - One aura interval;
end_ms == Nonefor open-ended intervals. - Character
Context - Character-specific inputs needed while resolving game data.
- Chunk
Run - DpsSample
- One per-bucket DPS sample for the preview damage-over-time chart.
- Encounter
Resolution Error - Failure while resolving an authored encounter into combat-ready enemy definitions.
- Enemy
Stat Error - Per-component failure to resolve one enemy stat.
- Enemy
Stat Inspection - Typed partial resolution for inspection: each component is a value or its exact data error.
- Enemy
Stat Resolution Error - Failure to resolve the enemy-stat service result.
- Enemy
Stat Resolver - Application-layer enemy-stat resolution service over one data backend.
- Game
Data Inputs - Intent
Builder - Fluent builder for
SimRequest. - Intent
Overrides - Toggles that alter how
bootstrapresolves stats and buffs. - Iteration
Trace - Single deterministic-seed iteration trace.
- Parallel
Run - Parallel execution settings for one resolved simulation intent.
- Resolved
Creature Tuning - Recorded creature-to-tuning join metadata (J9). It never drives stat inference (A1/A2/A3).
- Resolved
Enemy Identity - Resolved identity for one enemy.
- Resolved
Enemy Stats - Fully resolved enemy stats accepted for combat construction.
- Resolved
Handler - Owned spec handler built from resolved application inputs.
- Resolved
Setup - Fully resolved sim inputs, owned and
Send + Sync, ready to build one or more handlers. - Resource
Sample - One 100ms-bucketed resource sample.
- SimRequest
- Canonical request envelope for
crate::simulate_intent::simulate_intent_request. - Spec
Audit - Full audit result for one spec manifest.
EnumsΒ§
- Application
Error Category - Stable classification of an
ApplicationError. - Application
Stage - Application use case in which orchestration failed.
- Enemy
Stat Field - Resolved enemy-stat component named by provenance steps and typed data errors.
- Enemy
Stat Provenance Step - One audited resolution step: a chosen source row/multiplier or an explicit authored input.
- Provenance
Value - Output value carried by a provenance lookup step.
FunctionsΒ§
- assisted_
rotation_ id - Rotation-script id under which a specβs bundled βassistedβ priority list is registered.
- audit_
manifest - Audit one manifest against game data resolved via
resolver. - audit_
manifest_ repository - Loads and audits every spec in a canonical manifest repository.
- build_
handler - Build a handler from a sim config without running iterations; runs
on_sim_start. - build_
handler_ from_ setup - Build a fresh handler from previously resolved setup inputs.
- check_
conflicts - Validate the content catalog and reject conflicting symbolic names within each spec.
- default_
stats - Placeholder gearless
CombatStats; see the module note on units (percent points). - introspect_
spec - Convenience wrapper using empty game data (all durations/costs = 0).
- introspect_
spec_ resolved - Resolve a specβs game data and return its complete introspection snapshot.
- introspect_
spec_ with_ data - Build a full introspection snapshot for a spec, including hero talents.
- project_
iteration_ trace - Projects one decoded chunk and its decisions into the host-independent trace view.
- resolve_
assisted_ rotation_ script - Resolve a specβs assisted rotation script from the resolver, keyed by
assisted_rotation_id. - resolve_
game_ data - Resolve game data for all spells and auras used by a spec.
- resolve_
paperdoll - Resolve a character profile (sim config) into a
ResolvedPaperdollfor tooltip scaling. - resolve_
setup - Resolve a sim config into owned, reusable
ResolvedSetupinputs. - run_
chunk - Run N iterations and return a
ChunkReport. - run_
chunk_ into_ accumulator - Like
run_chunkbut yields the rawTelemetryAccumulatorfor merging. - simulate_
intent - Run a sim from a TOML config with the canonical raid profile.
- simulate_
intent_ parallel - Resolve
sim_configonce, runtotal_itersiterations acrossnum_threads, encode the result. - simulate_
intent_ request - Canonical entry point taking a
SimRequestenvelope. - simulate_
intent_ with_ trace - Trace-mode entry point used by the in-browser preview pane.
- validate_
rotation_ for_ spec - Resolve every name referenced by
rotationagainst one specialization.