Grid and discovery: implement grid map, directory, SLURL, and interest-list behavior #71
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Implement GridManager layers/regions/items/handles, DirectoryManager searches, SLURL parsing/formatting, InterestListManager, region features, and lookup caches.
Deliverables
Validation
Prerequisite
Networking/client lifecycle and the earlier world model/manager issues are available; mapped APIs and translated tests are fixed.
Project constraints
Implemented in commit 66fbb87.\n\nHighlights:\n- Added native GridManager map-layer capability/LLUDP discovery, map blocks/items/region handles, expiring name/handle/UUID caches, duplicate replacement, coarse-location deltas, bounded replies, timeouts, cancellation, and state-before-event ordering.\n- Preserved complete map-item wire payloads with typed Rust variants for agent locations, telehubs, land sales, and maturity-specific events.\n- Added native DirectoryManager server queries for people, groups, events, classifieds, parcels, land, places, and event info, including correlated ordered async streams, paging, flags/categories, cleanup, timeout, and cancellation.\n- Added complete SLURL/application URI parsing and stable percent-escaped formatting.\n- Added InterestList capability control and initial SimulatorFeatures capability loading while retaining unknown feature keys.\n- Added client-owned manager lifetimes and discovery documentation.\n\nVerification:\n- 11 focused GridManager/DirectoryManager/InterestList/Caps tests passed.\n- 33 SLURL compatibility tests passed.\n- world_constructor_semantics (3), world_manager_shims (2), and recorded map_layer_message wire fixture (1) passed.\n- Formatting, generated Rust mapping, generated API shims, API coverage, full workspace check, and isolated api-compile check passed.\n- Strict Clippy is clean for the affected libraries; the all-target invocation reaches only pre-existing warnings in tests/network_manager.rs, outside this issue.