An unattended run (`WOW_UNATTENDED`, `WOW_RIG`) resolved the same `benilla-config/` as a person. In a dev build, every linked worktree maps that to the primary checkout's folder. So a probe read the player's CVars, bindings and layout, and wrote its realm, settings and window positions back over them. `local_state::home` now gives an unattended run a fresh folder of its own (`$TMPDIR/benilla-run-<pid>/benilla-config`) and prints it at boot. `BENILLA_HOME` still pins one, and a capture still resolves none. CONTRIBUTING's "Running it unattended" says so. Test: `an_unattended_run_keeps_its_own_state_folder` checks the rig path, the override and the capture, and that the folder is never the resident one. Fixes #975 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 KiB
37 KiB
benilla — generated map
GENERATED by
scripts/genmap.shfrom the code — do not edit by hand; rerun the script when what's built changes. What-is only: the what-changed is in git. No timestamp — identical code yields an identical map.
Crates
- benilla-adt (no Bevy) — ADT terrain-tile reader for WoW 1.12.1 (build 5875)
- benilla-app (Bevy) — The Bevy app as a library: everything but the build-id stamp, which lives in the
benillalauncher so a new commit does not rebuild this crate - benilla-assets (Bevy) — Bevy AssetSource + AssetLoaders over the WoW 1.12.1 MPQ patch chain
- benilla-blp (no Bevy) — BLP2 texture decoder for WoW 1.12.1 (build 5875)
- benilla-buildstamp (no Bevy) — The git build-id stamp shared by the launchers' build scripts
- benilla-bytes (no Bevy) — Bounds-checked byte readers and IFF chunk iteration shared by the format parsers
- benilla-dbc (no Bevy) — WDBC (client DBC) reader for WoW 1.12.1 (build 5875)
- benilla-formats (no Bevy) — WoW 1.12.1 asset-format adapters (MPQ/BLP/DBC/ADT/WDT) and the benilla-extract CLI
- benilla-m2 (no Bevy) — M2 (MD20) model reader for WoW 1.12.1 (build 5875)
- benilla-mpq (no Bevy) — Read-only MPQ archive reader for WoW 1.12.1 (build 5875)
- benilla-protocol (no Bevy) — WoW 1.12.1 auth (SRP6) + world wire protocol and the benilla-auth CLI
- benilla-srp (no Bevy) — WoW 1.12.1 (build 5875) SRP6 client and world-header crypto
- benilla-ui (no Bevy) — Engine-free WoW UI engine core: TOC and FrameXML parsing, templates, anchors, z-order
- benilla-visual (no Bevy) — Perceptual image diff for the visual A/B render harness
- benilla-wdt (no Bevy) — WDT map tile-table reader and tile/world coordinates for WoW 1.12.1 (build 5875)
- benilla-wmo (no Bevy) — WMO (root and group) reader for WoW 1.12.1 (build 5875)
- benilla-world (Bevy) — The world renderer: terrain, water, sky, weather, models, lighting, collision and the frame ladder; everything needed to put something in a world and ask the world about itself, with no game attached
- benilla-worldview (no Bevy) — The world viewer: the engine with no game attached, which keeps the engine and game split honest
- benilla (no Bevy) — The launcher: build.rs stamps the git build id and main() hands it to benilla-app, so a new commit rebuilds this package and not the app crate
App subsystems — Bevy plugins in load order (crates/benilla-app/src/lib.rs)
- ThreadQosPlugin
- BgWinPlugin
- MacQuitPlugin
- WorldPlugins
- DevToolsPlugin
- FpsJournalPlugin
- GamePlugins
- DevProbesPlugin
Behind the dev feature (crates/benilla-app/src/dev.rs — compiled out by --no-default-features)
- DebugPanelPlugin
- PerfPlugin
- HoverLogPlugin
- AssetChurnPlugin
- PreflightPlugin
- ProbeShieldPlugin
- CapturePlugin
- LiveShotPlugin
- ProbeRigPlugin
- ProbeFocusPlugin
- ProbeChatPlugin
- ProbeLuaPlugin
- ProbeGlueLuaPlugin
- ProbeDragPlugin
- ProbeHoverPlugin
- ProbeKeyPlugin
- ProbeExitPlugin
- PickProbePlugin
- PhaseProbePlugin
- DepthProbePlugin
- NodeProbePlugin
- ProbeResizePlugin
- ParticleCensusPlugin
- GroundCensusPlugin
- LiftCensusPlugin
- StallPlugin
- TrailCensusPlugin
- UnitVisualsPlugin
- JitterMeterPlugin
- DressCensusPlugin
- RevealAuditPlugin
- EntityCensusPlugin
- SchedCensusPlugin
- ProbeMeleePlugin
- ProbePartnerPlugin
- ProbeCrossingPlugin
- ProbeTaxiPlugin
- ProbeGuardPoiPlugin
- ProbeBgQueuePlugin
- ProbeBgPlugin
- ProbeMailPlugin
- ProbeAuctionPlugin
- ProbeBankPlugin
- ProbeBinderPlugin
- ProbeServicePlugin
- ProbeVendorSwapPlugin
- ProbeModelCameraPlugin
- ProbeGmTicketPlugin
- ProbeCharterPlugin
- ProbeBookPlugin
- ProbeStonePlugin
- ProbeChestPlugin
- ProbeGoQuestPlugin
- ProbeClamPlugin
- ProbeCastCancelPlugin
- ProbeCharCreatePlugin
- LiveFpsPlugin
- ProbeLookPlugin
- ProbePitchPlugin
- ProbeCamPlugin
Modules (top-level, per crate)
- benilla-adt (lib.rs): combined_alpha
- benilla-app (lib.rs): addon_harness area area_poi area_trigger asset_churn aura_visual bindings blob_shadow bowstring camera_shake capture char_create char_select chat_bubble chr_classes cinematic combat_log combat_text console crash creature_anim creature_type cursor cvars death debug_panel dev doodad_events entities fishing_line footprints game_plugins game_tip glue glue_strings go_anim go_templates hover_log items loading_screen local_state login minimap name_persist nameplates names net npc_text opaque2d pending_item_ops perf pipe_warm player poi_marker portrait preflight probe_shield query_cache quest_markers raid_marks ranged_flex realm_select realmlist run_mode screen_fade screenshot script_calls shaders shutdown smart_rect sound spell swing_refusal target test_support text_filter text_reshape textinput transport tutorial ui_action ui_auction ui_aura ui_bank ui_battlefield ui_battlefield_positions ui_battlefield_score ui_bind_confirm ui_binder ui_cast ui_char ui_chat ui_craft ui_dialog_verbs ui_dressup ui_duel ui_follow ui_gamma ui_gm_ticket ui_gossip ui_guild ui_honor ui_inspect ui_instance ui_item_text ui_items ui_layout ui_logout ui_loot ui_loot_roll ui_macro ui_mail ui_merchant ui_mirror ui_models ui_net ui_party ui_pass ui_pet ui_pet_book ui_pet_doll ui_pet_stats ui_petition ui_quest ui_quest_log ui_quest_share ui_reputation ui_saved ui_script ui_session ui_shapeshift ui_social ui_spellbook ui_stable ui_summon ui_tabard ui_talent ui_talent_wipe ui_taxi ui_text ui_tooltip ui_trade ui_tradeskill ui_trainer ui_unit ui_world_map video vplates weapon_trail world_backdrop world_state world_state_ui
- benilla-assets (lib.rs): adt anim_rng blp column_grid coords gpu_blp m2 materials minimap_grid model spatial_cache terrain tex_filter trace wdt wmo world_assets
- benilla-formats (lib.rs): anim_data area_poi area_sound area_table area_trigger auction_house bank_bag_slot_prices camera_shakes cfg_categories cfg_configs chain characters chat_channels chr_classes cinematics creature_families creature_sound creature_types creatures dbc death_thud durability elevators emit_timing emote_text emotes environmental_damage exhaustion factions footsteps game_tips gameobjects garble gm_ticket_category ground_effects install item_random_properties item_sounds item_visuals itembagfamily itemclass items itemsets itemsubclass languages light liquid loading_screen lock lock_type macro_icons maps material minimap_translate models npc_greeting packages page_text_material particles pet_stats quest_headers quest_info race_creature_type race_pvp_team race_sound ribbons server_messages sheathe skill_lines sound_entries sound_provider sound_water spell_focus spell_mechanic spell_visual spells stable_slot_prices stationery talents taxi taxi_nodes taxi_path terrain text_filter_lists tga transport_period transports unit_blood value_track vocal_ui_sounds wdl weapon_impact weapon_swing wmo_area world_map_area world_map_continent world_map_overlay world_state_ui wow_ini zone_map
- benilla-m2 (lib.rs): error model skin tests track
- benilla-mpq (lib.rs): crypto
- benilla-protocol (lib.rs): auth events guid messages wire world
- benilla-srp (lib.rs): vanilla_header
- benilla-ui (lib.rs): bindings_xml civil framexml justify layout loader markup messages order script source status strings toc widget
- benilla-visual (lib.rs): relight
- benilla-world (lib.rs): art_scope assets bgwin billboard boot build_id clouds clutter collision decal dev_state doodad_anim entity_shade exterior_cull ffx_glow final_pass frame_pace ground_fx instance_tint interact interior layout_keys lighting liquid log_ring mac_quit map_proj mat_anim_table mesh_tag model_fade model_forms model_render modkeys particles ribbons ride_frame rig_anim rig_palette rig_rider schedule shaders sky sky_order skybox static_gx static_merge straddle sun surface terrain_stream thread_qos view vis_chain water_fx wdl weather wmo_portal world_census world_map world_plugins world_point world_unit worldview zfill
CLI binaries
benilla-auth(in benilla-protocol)benilla-extract(in benilla-formats)benilla-world(in benilla-protocol)blpx(in benilla-blp)mpqx(in benilla-formats)
WGSL shaders (crates/*/src/shaders/, embedded)
embedded://benilla_app/shaders/ui_add.wgslembedded://benilla_app/shaders/ui_gamma.wgslembedded://benilla_app/shaders/ui_node_gamma.wgslembedded://benilla_app/shaders/ui_quad.wgslembedded://benilla_app/shaders/ui_slice_gamma.wgslembedded://benilla_assets/shaders/liquid.wgslembedded://benilla_assets/shaders/terrain.wgslembedded://benilla_assets/shaders/wdl.wgslembedded://benilla_assets/shaders/wow_model.wgslembedded://benilla_world/shaders/celestial.wgslembedded://benilla_world/shaders/cloud.wgslembedded://benilla_world/shaders/ffx_glow.wgslembedded://benilla_world/shaders/sky_vertex.wgslembedded://benilla_world/shaders/sky.wgslembedded://benilla_world/shaders/star.wgslembedded://benilla_world/shaders/static_gx.wgslembedded://benilla_world/shaders/wow_effect.wgsl
Instruments — $WOW_* switches (env-var read sites)
The headless/dev instrument fleet, discovered from the code: every
WOW_*env var some.rsreads, and where it's read — the doc comment at the read site is the semantics. (The in-window surfaces — the Ctrl+Shift dev-chord overlays — are plugins above; this indexes the switches that don't announce themselves.)
WOW_ADDON_PROBE_AWAIT_INVITE— benilla-protocol/examples/addon_chat_probe.rsWOW_ADDON_PROBE_TRACE— benilla-protocol/examples/addon_chat_probe.rsWOW_ALLOW_ACCOUNT— benilla-app/src/login/mod.rs, benilla-app/src/run_mode.rsWOW_AMBIGUITY_DUMP— benilla-app/src/game_plugins.rsWOW_ANIM_COST— benilla-app/src/creature_anim/driver.rsWOW_ANIM_PARK_ALL— benilla-app/src/creature_anim/lod.rsWOW_ANISO— benilla-app/src/cvars/mod.rs, benilla-assets/src/tex_filter.rsWOW_API_DUMP— benilla-app/tests/world_api_wall.rsWOW_ARCH_CENSUS— benilla-app/src/perf/mod.rsWOW_ART_RADIUS— benilla-world/src/art_scope.rsWOW_ASSET_CHURN— benilla-app/src/asset_churn.rsWOW_ASSET_DUMP— benilla-app/src/capture/probes/live_fps.rsWOW_AUDIO_LIVE— benilla-app/src/sound/output/mod.rsWOW_AUDIO_NO_RT— benilla-app/src/sound/output/mod.rsWOW_AUDIT_— benilla-world/src/bgwin.rsWOW_AUDIT_START— benilla-world/src/wmo_portal/audit/mod.rsWOW_AUDIT_WMO— benilla-world/src/wmo_portal/audit/mod.rsWOW_BARE_DOODAD_COLLIDERS— benilla-world/src/terrain_stream/collider.rsWOW_BG— benilla-world/src/bgwin.rsWOW_BLOB_VIS— benilla-world/src/terrain_stream/merge.rsWOW_BLOB_VIS_UID— benilla-world/src/terrain_stream/merge.rsWOW_BOOTH_DUMP— benilla-app/src/portrait/test_bake.rsWOW_BOOTH_LOG— benilla-app/src/portrait/mod.rsWOW_CAM_CHANGED— benilla-app/src/perf/mod.rsWOW_CAM_DUMP— benilla-app/src/player/camera.rsWOW_CAPTURE— benilla-app/src/capture/mod.rs, benilla-app/src/capture/scenarios.rs, benilla-app/src/char_select/addons.rs, benilla-app/src/cvars/mod.rs, benilla-app/src/lib.rs, benilla-app/src/local_state.rs, benilla-app/src/login/mod.rs, benilla-app/src/name_persist.rs, benilla-app/src/net.rs, benilla-app/src/player/camera_saved.rs, benilla-app/src/run_mode.rs, benilla-app/src/sound/mod.rs, benilla-app/src/ui_chat/settings.rs, benilla-app/src/ui_chat/tests.rs, benilla-app/src/ui_macro/tests.rs, benilla-app/src/ui_saved.rs, benilla-app/src/ui_script/addons.rs, benilla-app/src/ui_script/layer_tests.rs, benilla-app/src/ui_script/mod.rs, benilla-app/src/ui_script/world_entry_tests.rs, benilla-app/src/video.rs, benilla-world/src/bgwin.rs, benilla-world/src/clouds/mod.rs, benilla-world/src/dev_state.rsWOW_CAPTURE_AGE— benilla-app/src/capture/mod.rsWOW_CAPTURE_DEADLINE— benilla-app/src/capture/mod.rsWOW_CAPTURE_OUT— benilla-app/src/capture/mod.rsWOW_CAPTURE_REHOVER— benilla-app/src/ui_script/mod.rsWOW_CAPTURE_STABLE— benilla-app/src/capture/mod.rsWOW_CAPTURE_UI— benilla-app/src/capture/scenarios.rs, benilla-app/src/ui_script/mod.rs, benilla-app/src/video.rsWOW_CAST_TRACE— benilla-app/src/net.rsWOW_CHAR— benilla-app/src/capture/probe_mail.rs, benilla-app/src/char_select/mod.rs, benilla-app/src/cvars/mod.rs, benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/realm_select/smoke.rs, benilla-app/src/run_mode.rsWOW_CHARCREATE_DIALS— benilla-app/src/char_create/mod.rsWOW_CHARCREATE_NAME— benilla-app/src/char_create/mod.rsWOW_CHARCREATE_PICK— benilla-app/src/capture/mod.rs, benilla-app/src/char_create/mod.rsWOW_CHARCREATE_SHOT— benilla-app/src/char_create/mod.rs, benilla-world/src/bgwin.rsWOW_CHARCREATE_SHOT_OUT— benilla-app/src/char_create/mod.rsWOW_CHARSELECT_ADDONS— benilla-app/src/char_select/mod.rsWOW_CHARSELECT_DIALOG— benilla-app/src/char_select/mod.rsWOW_CHARSELECT_PICK— benilla-app/src/char_select/mod.rs, benilla-app/src/cvars/mod.rsWOW_CHARSELECT_SHOT— benilla-world/src/bgwin.rsWOW_CHARSELECT_SHOT_AT— benilla-app/src/char_select/mod.rsWOW_CHARSELECT_SHOT_OUT— benilla-app/src/char_select/mod.rsWOW_CHARSELECT_WALK— benilla-app/src/char_select/mod.rsWOW_CLAMP_COST— benilla-app/src/net/motion/spline.rsWOW_CLAMP_SEAT— benilla-app/src/net/motion/spline.rsWOW_CLAMP_TRACE— benilla-app/src/net/motion/spline.rsWOW_CLOCK— benilla-world/src/dev_state.rsWOW_CLOUD_DUMP— benilla-world/src/clouds/mod.rsWOW_CLUSTERS— benilla-app/src/player/setup.rsWOW_CLUTTER_ALPHA— benilla-world/src/clutter.rsWOW_CLUTTER_DENSITY— benilla-app/src/cvars/mod.rs, benilla-app/src/lib.rs, benilla-world/src/clutter.rsWOW_CLUTTER_FADE— benilla-world/src/clutter.rsWOW_COLUMN_COST— benilla-assets/src/column_grid.rsWOW_CPU_CENSUS— benilla-app/src/perf/census.rsWOW_CRASH_INJECT— benilla-app/src/perf/crash_inject.rsWOW_CREATE_SPLINE— benilla-app/src/net/motion/spline.rsWOW_CREATE_TEST— benilla-app/src/portrait/glue_booth.rs, benilla-world/src/bgwin.rsWOW_CULL_TRACE— benilla-world/src/exterior_cull.rsWOW_CULLDUMP— benilla-world/src/wmo_portal/mod.rsWOW_CURSOR_TRACE— benilla-app/src/cursor.rsWOW_DATA— benilla-app/src/local_state.rs, benilla-formats/src/install.rs, benilla-formats/tests/project_folder.rs, benilla-formats/tests/wow_data_env.rs, benilla-formats/tests/wow_data_none.rsWOW_DEMO_BOTTOM_BARS— benilla-app/src/ui_script/mod.rsWOW_DEPTH— benilla-app/src/capture/depth_probe.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_DEPTH_AFTER— benilla-app/src/capture/depth_probe.rsWOW_DEPTH_AT— benilla-app/src/capture/depth_probe.rsWOW_DEPTH_COUNT— benilla-app/src/capture/depth_probe.rsWOW_DEPTH_QUADS— benilla-app/src/capture/depth_probe.rs, benilla-app/src/dev.rsWOW_DITHER— benilla-world/src/ffx_glow.rsWOW_DPI— benilla-app/src/video.rsWOW_DRESS_CENSUS— benilla-app/src/capture/probes/dress_census.rs, benilla-app/src/dev.rsWOW_DRESS_CENSUS_RADIUS— benilla-app/src/capture/probes/dress_census.rsWOW_DRIFT_DUMP— benilla-world/src/liquid/drift.rsWOW_DUMP_TILE— benilla-world/src/wmo_portal/audit/light_probe.rsWOW_EFFECT_TRACE— benilla-world/src/particles/render.rsWOW_EMIT_DUMP— benilla-world/src/particles/emitdump.rsWOW_ENTITY_CENSUS— benilla-app/src/capture/probes/world_census.rs, benilla-app/src/dev.rsWOW_FADE_NEAR— benilla-world/src/terrain_stream/spawn/mod.rsWOW_FARCLIP— benilla-app/src/cvars/mod.rs, benilla-world/src/view.rsWOW_FEED_COST— benilla-app/src/ui_items/feed.rsWOW_FEED_GATE_CHECK— benilla-app/src/ui_script/gate.rs, benilla-world/src/bgwin.rsWOW_FEED_GATE_TRACE— benilla-app/src/ui_script/gate.rs, benilla-world/src/bgwin.rsWOW_FIXED_DT— benilla-world/src/frame_pace.rsWOW_FOG_DUMP— benilla-world/src/lighting/resolve.rs, benilla-world/src/liquid/query.rsWOW_FOLLOW_TRACE— benilla-app/src/player/follow.rsWOW_FORCE_SUB— benilla-world/src/liquid/mod.rsWOW_FPS_— benilla-world/src/bgwin.rsWOW_FPS_JOURNAL— benilla-app/src/perf/journal.rsWOW_FPS_PROBE— benilla-app/src/capture/mod.rsWOW_FRAME_PHASES— benilla-app/src/perf/phases.rsWOW_FREEZE_UI_MESH— benilla-app/src/ui_pass.rsWOW_FX_AGE— benilla-app/src/capture/mod.rsWOW_FX_AT— benilla-app/src/capture/mod.rsWOW_FX_AZ— benilla-app/src/capture/mod.rsWOW_FX_CENSUS— benilla-app/src/capture/probes/fx_draw_census.rsWOW_FX_DISPLAY— benilla-app/src/capture/mod.rsWOW_FX_DIST— benilla-app/src/capture/mod.rsWOW_FX_EL— benilla-app/src/capture/mod.rsWOW_FX_FLY— benilla-app/src/capture/mod.rsWOW_FX_GO— benilla-app/src/capture/mod.rsWOW_FX_GO_STATE— benilla-app/src/capture/mod.rsWOW_FX_GO_TYPE— benilla-app/src/capture/mod.rsWOW_FX_GROUND— benilla-app/src/capture/mod.rsWOW_FX_HOLD— benilla-app/src/capture/mod.rsWOW_FX_MINUTE— benilla-app/src/capture/mod.rsWOW_FX_MODEL— benilla-app/src/capture/mod.rsWOW_FX_SCALE— benilla-app/src/capture/mod.rsWOW_FX_TURN— benilla-app/src/capture/mod.rsWOW_FX_UP— benilla-app/src/capture/mod.rsWOW_FX_YAW— benilla-app/src/capture/mod.rsWOW_GHOST_PROBE— benilla-app/src/death/mod.rsWOW_GLUE_ROUNDTRIP— benilla-app/src/char_select/mod.rs, benilla-world/src/bgwin.rsWOW_GLUE_STOCK— benilla-app/src/ui_script/glue.rsWOW_GLYPH_CACHE— benilla-app/src/ui_text/engine/gpu.rsWOW_GM— benilla-app/src/probe_shield.rsWOW_GOD— benilla-app/src/preflight.rs, benilla-app/src/probe_shield.rsWOW_GPU_MS— benilla-app/src/perf/gpu.rsWOW_GPU_PASSES— benilla-app/src/perf/journal.rsWOW_GROUND_CENSUS— benilla-app/src/capture/probes/ground_census.rs, benilla-app/src/dev.rsWOW_GROUND_CENSUS_RADIUS— benilla-app/src/capture/probes/ground_census.rsWOW_GX_CENSUS— benilla-world/src/static_gx/cull.rsWOW_GX_FADE_TRACE— benilla-world/src/static_gx/cull.rsWOW_GX_PERF— benilla-world/src/static_gx/mod.rsWOW_HIT_COST— benilla-app/src/ui_script/input.rsWOW_HOST— benilla-app/src/cvars/mod.rs, benilla-app/src/realmlist.rsWOW_HOVER_LOG— benilla-app/src/hover_log.rsWOW_HOVER_LOG_REPORT— benilla-app/src/lib.rsWOW_HOVER_PROBE— benilla-app/src/target/hover_probe.rsWOW_INDIRECT— benilla-world/src/world_plugins.rsWOW_INTERIOR_COST— benilla-world/src/interior.rsWOW_INTERIOR_LOG— benilla-world/src/entity_shade.rs, benilla-world/src/interior.rs, benilla-world/src/model_fade.rsWOW_IO_BUFFER— benilla-app/src/sound/mixer.rsWOW_JITTER— benilla-app/src/capture/probes/jitter.rs, benilla-app/src/dev.rsWOW_JITTER_RAW— benilla-app/src/capture/probes/jitter.rsWOW_LAYOUT_DERIVE_TRACE— benilla-ui/src/script/model.rsWOW_LAYOUT_PROF— benilla-ui/src/script/layout.rsWOW_LAYOUT_TOUCH_TRACE— benilla-ui/src/script/model.rsWOW_LAYOUT_VERIFY— benilla-ui/src/script/layout.rsWOW_LIFT_CENSUS— benilla-app/src/capture/probes/lift_census.rs, benilla-app/src/dev.rsWOW_LIGHT_AT— benilla-world/src/wmo_portal/audit/light_probe.rsWOW_LIGHT_DUMP— benilla-world/src/lighting/global_light.rs, benilla-world/src/lighting/resolve.rsWOW_LIGHT_GRID— benilla-world/src/wmo_portal/audit/light_probe.rsWOW_LIQUID_DC— benilla-assets/src/world_assets/images.rsWOW_LIVE_— benilla-world/src/bgwin.rsWOW_LIVE_FPS— benilla-app/src/capture/probes/live_fps.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_LIVE_FPS_AT— benilla-app/src/capture/probes/live_fps.rsWOW_LIVE_FPS_MOVE— benilla-app/src/capture/probes/live_fps.rsWOW_LIVE_SHOT— benilla-app/src/capture/live_shot.rs, benilla-app/src/dev.rsWOW_LIVE_SHOT_AT— benilla-app/src/capture/live_shot.rsWOW_LIVE_SHOT_COUNT— benilla-app/src/capture/live_shot.rsWOW_LIVE_SHOT_EVERY— benilla-app/src/capture/live_shot.rsWOW_LOGIN_SHOT— benilla-world/src/bgwin.rsWOW_LOGIN_SHOT_OUT— benilla-app/src/login/screen.rsWOW_LOGIN_SMOKE— benilla-app/src/char_select/mod.rs, benilla-app/src/login/mod.rs, benilla-app/src/login/smoke.rs, benilla-world/src/bgwin.rsWOW_LOGIN_SMOKE_HOLD— benilla-app/src/login/smoke.rsWOW_LOGOUT_SMOKE— benilla-app/src/char_select/mod.rs, benilla-world/src/bgwin.rsWOW_MAP— benilla-app/src/capture/mod.rs, benilla-world/src/world_map.rsWOW_MATANIM_DUTY— benilla-world/src/doodad_anim/mat_anim.rsWOW_MATANIM_LIVE— benilla-world/src/doodad_anim/mat_anim.rsWOW_MATANIM_PROBE— benilla-world/src/doodad_anim/mat_anim.rsWOW_MERGE_CENSUS— benilla-world/src/static_merge.rsWOW_MERGE_FADERS— benilla-world/src/terrain_stream/merge.rsWOW_MERGED_FADE— benilla-assets/src/materials.rsWOW_MERGED_SLOT— benilla-assets/src/materials.rsWOW_MESH_EVENTS— benilla-app/src/perf/mod.rsWOW_MESH_HOLDERS— benilla-app/src/perf/mod.rsWOW_MESH_TOUCH— benilla-app/src/perf/mod.rsWOW_MIX_TAP— benilla-app/src/sound/mix_tap.rsWOW_MM_BLIP_PROBE— benilla-app/src/minimap/mod.rs, benilla-world/src/bgwin.rsWOW_MM_PROBE— benilla-app/src/capture/mod.rs, benilla-app/src/minimap/mod.rs, benilla-world/src/bgwin.rsWOW_MM_STATS— benilla-app/src/minimap/mod.rsWOW_MM_ZOOM— benilla-app/src/minimap/mod.rsWOW_MOVE_SPEED— benilla-app/src/player/setup.rsWOW_MOVE_TRACE— benilla-assets/src/trace.rsWOW_MOVE_TRACE_CHAT— benilla-app/src/net/io/wire_trace.rsWOW_MOVE_TRACE_TAGS— benilla-assets/src/trace.rsWOW_MSAA— benilla-app/src/cvars/mod.rs, benilla-world/src/view.rsWOW_MT_EXTRACT— benilla-app/src/lib.rsWOW_MT_POSTUPDATE— benilla-app/src/lib.rsWOW_MT_UPDATE— benilla-app/src/lib.rsWOW_NAME_AZ— benilla-app/src/capture/mod.rsWOW_NAME_DIST— benilla-app/src/capture/mod.rsWOW_NAME_EL— benilla-app/src/capture/mod.rsWOW_NAME_H— benilla-app/src/capture/mod.rsWOW_NO_ALPHATEST— benilla-world/src/model_render.rsWOW_NO_ANIM_LOD— benilla-app/src/creature_anim/lod.rs, benilla-app/src/lib.rsWOW_NO_BC— benilla-assets/src/gpu_blp.rsWOW_NO_DOODAD_BODIES— benilla-world/src/terrain_stream/collider.rsWOW_NO_DRAW_ELECTION— benilla-world/src/exterior_cull.rsWOW_NO_FFX— benilla-world/src/ffx_glow.rsWOW_NO_FRAME_PACE— benilla-world/src/frame_pace.rsWOW_NO_HULL_WELD— benilla-world/src/terrain_stream/weld.rsWOW_NO_INDIRECT— benilla-app/src/player/setup.rsWOW_NO_LIQUID— benilla-world/src/liquid/mod.rsWOW_NO_MESH_PARK— benilla-world/src/model_render/park.rsWOW_NO_MOUNT_TILT— benilla-app/src/entities/conform.rsWOW_NO_PARTICLES— benilla-world/src/liquid/drift.rs, benilla-world/src/particles.rs, benilla-world/src/ribbons.rsWOW_NO_RIDE_FRAME— benilla-world/src/ride_frame.rsWOW_NO_RIG_REBASE— benilla-world/src/rig_palette.rsWOW_NO_ROOM_LOD— benilla-app/src/creature_anim/lod.rsWOW_NO_TILE_CELLS— benilla-world/src/terrain_stream/furnish.rsWOW_NO_TILE_DROP— benilla-world/src/terrain_stream.rsWOW_NO_TWIST— benilla-app/src/creature_anim/twist.rsWOW_NODE_PROBE— benilla-app/src/capture/probes/world_census.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_NOPORTALCULL— benilla-world/src/dev_state.rsWOW_NOSOUND— benilla-app/src/sound/mod.rsWOW_NOVSYNC— benilla-app/src/video.rs, benilla-world/src/worldview.rsWOW_OCEAN_DEPTH_DIV— benilla-formats/src/liquid.rsWOW_PANEL— benilla-world/src/dev_state.rsWOW_PART_CHURN— benilla-app/src/perf/mod.rsWOW_PARTICLE_CENSUS— benilla-app/src/capture/probes/particle_census.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_PARTICLE_DEPTHDUMP— benilla-world/src/particles/depthdump.rsWOW_PARTICLE_DEPTHDUMP_BONES— benilla-world/src/particles/depthdump.rsWOW_PARTICLE_FLAT— benilla-world/src/particles/render.rsWOW_PARTICLE_NODEPTH— benilla-world/src/particles/render.rsWOW_PASS— benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-protocol/examples/login_refusal_probe.rs, benilla-protocol/examples/park_probe.rsWOW_PERF_HUD— benilla-app/src/perf/hud.rsWOW_PHASE— benilla-app/src/capture/phase_probe.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_PHASE_AT— benilla-app/src/capture/phase_probe.rsWOW_PHASE_COUNT— benilla-app/src/capture/phase_probe.rsWOW_PHYS_HZ— benilla-world/src/world_plugins.rsWOW_PHYS_PREPROP— benilla-world/src/world_plugins.rsWOW_PICK— benilla-app/src/capture/pick_probe.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_PICK_AT— benilla-app/src/capture/pick_probe.rsWOW_PICK_COUNT— benilla-app/src/capture/pick_probe.rsWOW_PICK_EVERY— benilla-app/src/capture/pick_probe.rsWOW_PIN_ASPECT— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_COL— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_EYE— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_FLOOR— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_FOVY— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_LOOK— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_MAP— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_SITE— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_TILE— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_UID— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIN_WMO— benilla-world/src/wmo_portal/audit/pin.rsWOW_PIPE_TRACE— benilla-app/src/pipe_warm/mod.rsWOW_POINTS_DUMP— benilla-world/src/lighting/global_light.rsWOW_PORTRAIT_TEST— benilla-app/src/portrait/mod.rs, benilla-app/src/portrait/test_bake.rs, benilla-world/src/bgwin.rsWOW_PORTRAIT_TEST_SKIN— benilla-app/src/portrait/test_bake.rsWOW_PROBE— benilla-app/src/dev.rs, benilla-app/src/lib.rs, benilla-world/src/bgwin.rsWOW_PROBE_AUCTION— benilla-app/src/dev.rsWOW_PROBE_BANK— benilla-app/src/dev.rsWOW_PROBE_BG— benilla-app/src/capture/probe_bg.rs, benilla-app/src/dev.rsWOW_PROBE_BG_SAMPLES— benilla-app/src/capture/probe_bg.rsWOW_PROBE_BGQUEUE— benilla-app/src/dev.rsWOW_PROBE_BINDER— benilla-app/src/dev.rsWOW_PROBE_BOOK— benilla-app/src/dev.rsWOW_PROBE_CAM— benilla-app/src/capture/probe_cam.rsWOW_PROBE_CHARCREATE— benilla-app/src/capture/probe_charcreate.rs, benilla-app/src/dev.rsWOW_PROBE_CHARCREATE_KEEP— benilla-app/src/capture/probe_charcreate.rsWOW_PROBE_CHARTER— benilla-app/src/dev.rsWOW_PROBE_CHAT— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_CHAT_AT— benilla-app/src/capture/probes/act.rsWOW_PROBE_CHAT_EVERY— benilla-app/src/capture/probes/act.rsWOW_PROBE_CHEST— benilla-app/src/capture/probe_chest.rs, benilla-app/src/dev.rsWOW_PROBE_CLAM— benilla-app/src/capture/probe_clam.rs, benilla-app/src/dev.rsWOW_PROBE_DOCK— benilla-app/src/capture/probe_crossing.rsWOW_PROBE_DRAG— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_DRAG_AT— benilla-app/src/capture/probes/act.rsWOW_PROBE_DRAG_LUA— benilla-app/src/capture/probes/act.rsWOW_PROBE_DRAG_STEP— benilla-app/src/capture/probes/act.rsWOW_PROBE_EXIT_AT— benilla-app/src/capture/probes/run.rs, benilla-app/src/dev.rsWOW_PROBE_GLUE_LUA— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_GLUE_LUA_AT— benilla-app/src/capture/probes/act.rsWOW_PROBE_GLUE_SHOT— benilla-app/src/capture/probes/act.rsWOW_PROBE_GLUE_SHOT_AFTER— benilla-app/src/capture/probes/act.rsWOW_PROBE_GMTICKET— benilla-app/src/dev.rsWOW_PROBE_GOQUEST— benilla-app/src/capture/probe_goquest.rs, benilla-app/src/dev.rsWOW_PROBE_HOVER— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_HOVER_AT— benilla-app/src/capture/probes/act.rsWOW_PROBE_HOVER_DUTY— benilla-app/src/capture/probes/act.rsWOW_PROBE_HOVER_JITTER— benilla-app/src/capture/probes/act.rsWOW_PROBE_HOVER_STEP— benilla-app/src/capture/probes/act.rsWOW_PROBE_KEY— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_LOOK— benilla-app/src/capture/probe_look.rsWOW_PROBE_LUA— benilla-app/src/capture/probes/act.rs, benilla-app/src/dev.rsWOW_PROBE_LUA_AGAIN— benilla-app/src/capture/probes/act.rsWOW_PROBE_LUA_AT— benilla-app/src/capture/probes/act.rsWOW_PROBE_MAIL— benilla-app/src/dev.rsWOW_PROBE_MODEL_CAMERA— benilla-app/src/dev.rsWOW_PROBE_NAME_TRACE— benilla-app/src/nameplates.rsWOW_PROBE_PARK— benilla-app/src/capture/probes/run.rsWOW_PROBE_PITCH— benilla-app/src/capture/probe_pitch.rsWOW_PROBE_RESIZE— benilla-app/src/capture/probes/run.rs, benilla-app/src/dev.rsWOW_PROBE_SERVICE— benilla-app/src/dev.rsWOW_PROBE_SHARED_SKIN— benilla-app/src/entities/attach/char_skin.rsWOW_PROBE_STONE— benilla-app/src/capture/probe_stone.rs, benilla-app/src/dev.rsWOW_PROBE_UI_ONE_TEX— benilla-app/src/ui_pass.rsWOW_PROBE_UNCAP— benilla-app/src/capture/mod.rsWOW_PROBE_VENDOR_SWAP— benilla-app/src/dev.rsWOW_PROBE_VSYNC— benilla-app/src/capture/mod.rsWOW_REALM— benilla-app/src/realm_select/mod.rsWOW_REALM_SMOKE— benilla-app/src/realm_select/smoke.rsWOW_REFUSE_LOGIN— benilla-app/src/net/io.rsWOW_REMOTE_FLAT— benilla-app/src/net/motion/remote.rsWOW_REMOTE_IDLE_GATE— benilla-app/src/net/motion/remote.rsWOW_REMOTE_SNAP— benilla-app/src/net/motion/remote.rsWOW_RENDER_SCALE— benilla-app/src/cvars/mod.rs, benilla-app/src/world_backdrop.rsWOW_RES_CENSUS— benilla-app/src/perf/census.rsWOW_RESIZE— benilla-app/src/capture/mod.rsWOW_REVEAL— benilla-app/src/capture/probes/reveal.rs, benilla-app/src/dev.rsWOW_RIG— benilla-app/src/capture/probe_rig.rs, benilla-app/src/dev.rs, benilla-app/src/local_state.rs, benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/probe_shield.rs, benilla-app/src/realm_select/smoke.rs, benilla-app/src/run_mode.rs, benilla-world/src/bgwin.rsWOW_RIG_CENSUS— benilla-world/src/rig_palette.rsWOW_RIG_COST— benilla-world/src/rig_palette.rsWOW_RIG_SKIN— benilla-assets/src/materials.rsWOW_ROW_BLOAT— benilla-app/src/perf/census.rs, benilla-app/src/perf/mod.rsWOW_SCHED_CENSUS— benilla-app/src/dev.rs, benilla-world/src/bgwin.rsWOW_SHADE_CENSUS— benilla-world/src/entity_shade.rsWOW_SHOT_REQUIRE— benilla-app/src/capture/live_shot.rsWOW_SHOT_REQUIRE_DIST— benilla-app/src/capture/live_shot.rsWOW_SKY_DEPTH— benilla-assets/src/materials.rsWOW_SOUND_PROBE— benilla-app/src/sound/probe.rsWOW_STALL— benilla-app/src/capture/probes/stall.rs, benilla-app/src/dev.rsWOW_STALL_INJECT— benilla-app/src/perf/stall.rsWOW_STALL_SAMPLE— benilla-app/src/perf/stall.rsWOW_STATIC_GX— benilla-world/src/static_gx/mod.rsWOW_STATIC_GX_FADE— benilla-world/src/static_gx/mod.rsWOW_STATIC_GX_PROP— benilla-world/src/static_gx/mod.rsWOW_STATIC_GX_WMO— benilla-world/src/static_gx/mod.rsWOW_STATIC_MERGE— benilla-world/src/terrain_stream/merge.rsWOW_STOCK_UI— benilla-app/src/ui_script/manifest.rsWOW_STREAM_TRACE— benilla-app/src/perf/mod.rsWOW_TAB_TRACE— benilla-app/src/target/scan.rsWOW_TABHOVER— benilla-app/src/capture/fixtures.rsWOW_TEARDOWN_INJECT— benilla-app/src/perf/stall.rsWOW_TEXT_PROBE— benilla-app/src/ui_script/extract/text.rsWOW_THREADS— benilla-world/src/boot.rsWOW_TILE_DUMP— benilla-app/src/ui_models/mod.rsWOW_TILE_TRACE— benilla-app/src/ui_models/mod.rsWOW_TILE_UNLOAD— benilla-world/src/assets/mod.rsWOW_TINT_PROBE— benilla-app/src/aura_visual.rsWOW_TRAIL_CENSUS— benilla-app/src/capture/probes/trail_census.rs, benilla-app/src/dev.rsWOW_TRILINEAR— benilla-app/src/cvars/mod.rs, benilla-assets/src/tex_filter.rsWOW_TWIST_GAP— benilla-app/src/player/body_pose.rsWOW_UI_COST— benilla-app/src/ui_script/extract/mod.rsWOW_UI_DIFF— benilla-app/src/ui_pass.rs, benilla-app/src/ui_script/extract/mod.rsWOW_UI_GATE— benilla-app/src/ui_script/extract/mod.rsWOW_UI_HANDLERS— benilla-ui/src/script/handler_prof.rsWOW_UI_PICK— benilla-app/src/ui_script/extract/mod.rsWOW_UI_PROBE— benilla-app/src/ui_pass.rsWOW_UI_SCALE— benilla-app/src/cvars/mod.rs, benilla-app/src/ui_script/mod.rsWOW_UI_SPLICE_VERIFY— benilla-app/src/ui_script/extract/mod.rsWOW_UISCRIPT_DUMP— benilla-app/tests/ui_script_wall.rsWOW_UNATTENDED— benilla-app/src/local_state.rs, benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-world/src/bgwin.rsWOW_UNIT_VISUALS— benilla-app/src/capture/probes/visual_census.rs, benilla-app/src/dev.rsWOW_UNIT_VISUALS_RADIUS— benilla-app/src/capture/probes/visual_census.rsWOW_UPLOAD_BUDGET— benilla-world/src/world_plugins.rsWOW_USER— benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-protocol/examples/login_refusal_probe.rs, benilla-protocol/examples/park_probe.rsWOW_VIS_DUMP— benilla-app/src/capture/probes/live_fps.rsWOW_VIS_TRACE— benilla-world/src/model_render/visibility.rsWOW_VISTA_AT— benilla-app/src/capture/mod.rsWOW_VISTA_FACE— benilla-app/src/capture/mod.rsWOW_VISTA_MIN— benilla-app/src/capture/mod.rsWOW_VISTA_PITCH— benilla-app/src/capture/mod.rsWOW_VPLATE_TRACE— benilla-app/src/vplates.rsWOW_WARM_SLICE— benilla-app/src/pipe_warm/mod.rsWOW_WATER_CLIP— benilla-assets/src/materials.rsWOW_WAVE_DUMP— benilla-world/src/ffx_glow.rsWOW_WEATHER— benilla-world/src/weather/mod.rsWOW_WEATHER_DUMP— benilla-world/src/weather/mod.rsWOW_WFX_AGE— benilla-app/src/capture/mod.rsWOW_WFX_AT— benilla-app/src/capture/mod.rsWOW_WFX_AZ— benilla-app/src/capture/mod.rsWOW_WFX_DEPTH— benilla-app/src/capture/mod.rsWOW_WFX_DIST— benilla-app/src/capture/mod.rsWOW_WFX_EL— benilla-app/src/capture/mod.rsWOW_WFX_HEAD— benilla-app/src/capture/mod.rsWOW_WFX_MODE— benilla-app/src/capture/mod.rsWOW_WFX_SPEED— benilla-app/src/capture/mod.rsWOW_WIN— benilla-app/src/video.rs, benilla-world/src/worldview.rsWOW_WMO_BIAS— benilla-world/src/model_render.rs, benilla-world/src/static_gx/mod.rsWOW_WORLDVIEW_— benilla-world/src/bgwin.rsWOW_WORLDVIEW_AT— benilla-world/src/worldview.rsWOW_WORLDVIEW_CHECK— benilla-world/src/bgwin.rs, benilla-world/src/worldview.rsWOW_WORLDVIEW_SHOT— benilla-world/src/worldview.rsWOW_WORLDVIEW_SHOT_AT— benilla-world/src/worldview.rsWOW_WORLDVIEW_SURVEY— benilla-world/src/worldview.rs
Scripts (scripts/)
doc-links.py— Fail on a doc link whose target is declared nowhere in the workspace.gen-message-catalog.py— Generatecrates/benilla-ui/src/messages/catalog.rsfromreference/1.12-message-catalog.tsv.gen-reference-events.py— Regeneratereference/1.12-events.tsv: each 1.12 FrameScript event and the arguments it carries.gen-reference-globals.py— Regeneratereference/1.12-globals.tsv: the 1.12.1 client's global namespace, by origin.gen-reference-glue-surface.py— Regeneratereference/1.12-glue-surface.tsv: every Lua function the glue screens' VM has in_G.gen-reference-verb-events.py— Regeneratereference/1.12-verb-events.tsv: the events 1.12 Lua verbs fire, keyed by verb.mixsum.py— Read a$WOW_MIX_TAPcapture and say, in numbers, what the mix was doing when.pass-span-lint.py— Refuse a second openpass_spanon the same render pass (a wgpu validation error on Vulkan).soundprobe.py— Read back a$WOW_SOUND_PROBEcapture and name the mechanism behind a speaker-breaking sound.vplsum.py— Read avpl/buboverlay trace and say where the motion came from: projection, solve or snap.api-coverage.sh— Addon-API coverage: how much of the 1.12.1 client's global surface benilla's UI VM presents.check.sh— The in-loop verify: fmt everywhere, clippy and test on the changed crates and their dependents.cine.sh— Play one cinematic on the probe and print what happened, as a timeline.gates.sh— The land gate chain: every gate in order, stopping at the first failure.genmap.sh— Generate docs/MAP.md, the map of what is built, from what is on disk.probe-identity.sh— Who a scripted run logs in as; sourced by smoke.sh, cine.sh and summon-live.sh, never run alone.smoke.sh— The clean-run gate: boot the real client, log out, re-enter, walk the realm list, check the log.soundprobe.sh— Start the client in sound measuring mode: record the mix before and after the output limiter.summon-live.sh— Two-client live summon probe: a second account summons this checkout's character, which accepts.visual.sh— Visual A/B harness: capture deterministic screenshots and diff them against a baseline.