2.5.9 League walker + walker changes#1769
Merged
Merged
Conversation
Unify edge injection and blocked-edge loading so pathfinder builds stable transport graph.
Split walker internals into focused runtime modules for await, door, stall, lifecycle, and banking flow.
Add leagues lock/chat transport stack and wire seasonal transport handlers into runtime flow.
Harden bank mirror sync and inventory setup retain flow so banking state stays trustworthy.
Tighten post-transport door handling and bank-vs-direct compare so walker picks stable routes.
Update walker regression coverage and regenerate client-thread guardrail baseline.
Force immediate reroute after locked-region blacklist/catalog updates so nearest flows do not loop. Invalidate bank mirror when world-type profile class changes, while treating members/free and normal combat-variant tags as same profile.
## Feature Comparison (New vs Baseline) ### 1) Leagues Transport Engine (New Platform Capability) **New in this branch** - Dedicated Leagues transport subsystem under `util/leaguetransport`. - Region unlock awareness (`LeaguesRegion`, lock catalog, unlock parsing). - Structured transport execution + result model (`LeaguesTeleportResult`, failure reasons). - Transport injection, persistence, chat/widget integration, and Map of Alacrity support. - Public API documentation via `docs/api/Rs2LeaguesTransport.md`. **Baseline** - No equivalent end-to-end Leagues transport platform with lock-aware modeling and typed outcomes. **Why this outperforms baseline** - Avoids invalid Leagues travel attempts by gating against unlock state. - Provides deterministic transport outcomes instead of opaque failure handling. - Improves route execution quality in seasonal worlds through explicit Leagues-aware transport logic. ### 2) Walker Runtime Decomposition (New Execution Architecture) **New in this branch** - Walker logic split into focused runtime modules: - await/runtime coordination - banking planner - lifecycle runtime - stall policy - transport awaits - door resolution models + handlers - shared progress primitives **Baseline** - Heavier concentration of control flow in core walker paths. **Why this outperforms baseline** - Lower coupling between movement subsystems enables faster, safer hot-path tuning. - More predictable behavior under chained interactions (door/transport/settle) due to explicit runtime stages. - Better operational maintainability for future performance tuning without broad regressions. ### 3) Door + Transport Traversal Hardening (New Reliability Behavior) **New in this branch** - Expanded walker/shortest-path flow control in: - `Rs2Walker` - `ShortestPathScript` - `ShortestPathPlugin` - `TransportRouteAnalysis` - `WebWalkLog` - Route-clear reasons and stronger stop semantics (`clearWalkingRoute(...)` usage across scripts/panel/quest helpers). - EXIT retry logic with bounded retries and user-stop/death guards. **Baseline** - Weaker attribution of stop/clear causes and less structured recovery behavior for transient EXIT states. **Why this outperforms baseline** - Faster continuation after transient failures. - Better protection against false terminal exits. - Cleaner stop semantics reduce accidental route loss from unrelated interactions. ### 4) Transport Definition and Refresh Pipeline (New Hot-Reload Capability) **New in this branch** - Developer config toggle `reloadTransportDefinitions`. - Runtime path to reload transport TSV definitions from packaged resources. - Refresh cache invalidation + path restart integration for immediate effect. - One-shot auto-reset behavior for the reload toggle. **Baseline** - No practical one-shot transport-definition hot reload path from config. **Why this outperforms baseline** - Faster iteration loop for transport-table updates in dev builds. - Eliminates restart-only workflows for validating transport data changes. - Keeps pathfinder state consistent after definition refresh by forcing synchronized refresh/restart. ### 5) Pathfinder Transport Policy Improvements (New Selection Quality) **New in this branch** - Transport policy layer (`TransportRequirementPolicy`) and pathfinder transport handling updates. - Additional transport parsing robustness in `Transport` (defensive parsing, malformed token handling, resource checks). - Updated teleport/transport datasets and filtering logic. **Baseline** - Less robust handling for malformed transport rows and fewer explicit policy boundaries. **Why this outperforms baseline** - Higher resilience to noisy/partial transport data. - More consistent transport eligibility decisions. - Better route quality stability when transport metadata is imperfect. ### 6) Bank + Inventory Setup Reliability (New Consistency Improvements) **New in this branch** - Bank mirror/cache and inventory setup behavior hardened in: - `Rs2Bank` - `Rs2InventorySetup` - Added regression guidance and gotchas in `docs/entity-guides/items.md`. - Added focused test coverage (`Rs2BankSetupDepositRetainTest`). **Baseline** - Less explicit guardrails around bank mirror readiness and setup retain/deposit semantics. **Why this outperforms baseline** - Fewer false-negative bank availability states. - More stable setup loading behavior. - Improved consistency for scripts relying on bank-backed requirements. ### 7) Text Parsing and Utility Robustness (New Data Hygiene Layer) **New in this branch** - Added `Rs2TextSanitizer` utility and integrated it into quest helper text parsing paths. - New tests for text sanitizer behavior. **Baseline** - More direct widget text parsing with less normalization. **Why this outperforms baseline** - Better parsing reliability under formatting/tag variation. - Reduces parsing drift in quest-helper UI flows. ### 8) Validation Surface Expansion (New Confidence Envelope) **New in this branch** - New/updated tests across: - pathfinder hash refresh - transport typing - walker awaits/door handling - leagues transport - bank setup retention - text sanitization - Updated thread-safety guardrail baseline. **Baseline** - Narrower coverage of new transport/walker/Leagues edge cases. **Why this outperforms baseline** - Greater change confidence for movement-critical code. - Earlier detection of regressions in route selection and transport handling. ## Net Feature Outcome Compared to development baseline, this branch delivers a materially stronger travel stack: - richer transport capability (especially Leagues), - better route-execution reliability, - faster developer iteration on transport definitions, - and higher confidence through expanded targeted test coverage. In practical terms: more valid routes selected, fewer avoidable traversal failures, and faster recovery when movement state becomes transient or contested. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit # Release Notes * **New Features** * Added Leagues seasonal transport system with region-based teleportation and auto-calibration * Implemented bidirectional pathfinding for faster route discovery * Added door traversal detection with smart edge handling * Integrated Map of Alacrity seasonal transport support * **Improvements** * Enhanced bank synchronization with live-epoch tracking for safer queries * Improved inventory setup loading with item retention and validation * Better quest helper text parsing for improved region detection [](https://app.coderabbit.ai/change-stack/TheHaliax/Microbot/pull/1) <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- fix null path in game msg leagues hook - keep dye parse fallback alive when line parse fail - use exact bank name fallback, avoid wrong stack bind - gate reroute spam, block impossible distance math - sync deposit path hard fail; tolerance per item only
Leagues bank walker pathfinder
Contributor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (78)
WalkthroughAdds a full Leagues “area” teleport subsystem (UI automation, calibration, persistence, chat correlation), seasonal transport handler wiring, pathfinder refactor with bidirectional A*, transport parsing/loading hardening, bank mirror epoch synchronization and APIs, richer inventory/equipment setup logic, walker/door/banking utilities, UI tweaks, config/controls, docs, and extensive unit/integration tests. Also updates gradle properties and test exclusions. Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2.5.9 League walker + walker changes