Make World Observer practical at full population - #84
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe observer server now exposes detailed hot and cold bot data. The client adds searchable, filterable, clustered map actors, asynchronous bot inspection, population metrics, roster views, refreshed controls, and responsive styling. Tests cover PK status, cold combat data, equipment, and dead-bot state. ChangesObserver bot details and UI
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant ObserverBrowser
participant ObserverRoute
participant botDetail
participant HotSessions
participant ColdPopulation
ObserverBrowser->>ObserverRoute: GET /observer/api/bot/:characterId
ObserverRoute->>botDetail: validate characterId and load detail
botDetail->>HotSessions: check active hot bot
botDetail->>ColdPopulation: load cold population state when no hot bot exists
botDetail-->>ObserverRoute: compactHotDetail or compactColdDetail
ObserverRoute-->>ObserverBrowser: JSON detail or not-found response
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
src/WorldObserver/public/styles.cssParsing error: Unexpected token : Comment |
Summary
Why
The previous Observer stopped being useful at the current population size: it reported only 735 bots, points overlapped, and selecting a bot no longer exposed enough runtime context. Large cluster clicks were also blocked by the selection card overlay even though keyboard activation worked.
This change removes the snapshot cap, makes clusters explicitly drillable, keeps the roster synchronized with the opened area, and restores actionable per-bot context without adding broad telemetry streams.
Validation
npm testnpm run check(782 JavaScript files)node tests/test_world_observer_pk.jsnode --check src/WorldObserver/public/app.jsgit diff --checkSummary by CodeRabbit
New Features
Bug Fixes