Skip to main content

Crate wowlab_engine_application

Crate wowlab_engine_application 

Source
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_error is 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 ResolvedGameData for 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 ResolvedPaperdoll for 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Β§

ActionStat
Per-spell cast and damage stats.
ApplicationError
Typed, intentionally opaque failure from an application-layer use case.
AuditIssue
One audit finding for a single manifest ID or reference.
AuraEvent
One aura interval; end_ms == None for open-ended intervals.
CharacterContext
Character-specific inputs needed while resolving game data.
ChunkRun
DpsSample
One per-bucket DPS sample for the preview damage-over-time chart.
EncounterResolutionError
Failure while resolving an authored encounter into combat-ready enemy definitions.
EnemyStatError
Per-component failure to resolve one enemy stat.
EnemyStatInspection
Typed partial resolution for inspection: each component is a value or its exact data error.
EnemyStatResolutionError
Failure to resolve the enemy-stat service result.
EnemyStatResolver
Application-layer enemy-stat resolution service over one data backend.
GameDataInputs
IntentBuilder
Fluent builder for SimRequest.
IntentOverrides
Toggles that alter how bootstrap resolves stats and buffs.
IterationTrace
Single deterministic-seed iteration trace.
ParallelRun
Parallel execution settings for one resolved simulation intent.
ResolvedCreatureTuning
Recorded creature-to-tuning join metadata (J9). It never drives stat inference (A1/A2/A3).
ResolvedEnemyIdentity
Resolved identity for one enemy.
ResolvedEnemyStats
Fully resolved enemy stats accepted for combat construction.
ResolvedHandler
Owned spec handler built from resolved application inputs.
ResolvedSetup
Fully resolved sim inputs, owned and Send + Sync, ready to build one or more handlers.
ResourceSample
One 100ms-bucketed resource sample.
SimRequest
Canonical request envelope for crate::simulate_intent::simulate_intent_request.
SpecAudit
Full audit result for one spec manifest.

EnumsΒ§

ApplicationErrorCategory
Stable classification of an ApplicationError.
ApplicationStage
Application use case in which orchestration failed.
EnemyStatField
Resolved enemy-stat component named by provenance steps and typed data errors.
EnemyStatProvenanceStep
One audited resolution step: a chosen source row/multiplier or an explicit authored input.
ProvenanceValue
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 ResolvedPaperdoll for tooltip scaling.
resolve_setup
Resolve a sim config into owned, reusable ResolvedSetup inputs.
run_chunk
Run N iterations and return a ChunkReport.
run_chunk_into_accumulator
Like run_chunk but yields the raw TelemetryAccumulator for merging.
simulate_intent
Run a sim from a TOML config with the canonical raid profile.
simulate_intent_parallel
Resolve sim_config once, run total_iters iterations across num_threads, encode the result.
simulate_intent_request
Canonical entry point taking a SimRequest envelope.
simulate_intent_with_trace
Trace-mode entry point used by the in-browser preview pane.
validate_rotation_for_spec
Resolve every name referenced by rotation against one specialization.