Fix varregion scene capture and legacy rendering
This commit is contained in:
39
crates/libremetaverse/CHANGES.md
Normal file
39
crates/libremetaverse/CHANGES.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# MetaCrate compatibility deviations
|
||||
|
||||
This file records intentional differences from the C# LibreMetaverse source. Preserve or
|
||||
re-evaluate these changes when importing a newer upstream version.
|
||||
|
||||
## OpenSim varregion dimensions
|
||||
|
||||
- `GridRegion` retains the optional `MapBlockReply.Size` dimensions. Missing or zero dimensions
|
||||
fall back to 256 x 256 metres.
|
||||
- `Simulator::region_size()` exposes dimensions resolved after login and is marked `must_use`,
|
||||
while the mapped public `size_x` and `size_y` fields remain unchanged for API compatibility.
|
||||
- A matching map-region event updates the current simulator's resolved dimensions. Movement,
|
||||
border prediction, terrain lookup, and terrain archive export use the resolved dimensions.
|
||||
- The cache distinguishes explicit `Size` blocks from the 256 x 256 fallback. Startup waits for
|
||||
an explicit size until timeout, and a later fallback reply cannot downgrade a resolved size.
|
||||
- Region lookup no longer synthesizes the current simulator as a 256 x 256 `GridRegion`; it
|
||||
requests the authoritative map block.
|
||||
|
||||
Files: `src/grid_manager.rs`, `src/network_manager.rs`, `src/agent_movement.rs`,
|
||||
`src/asset_archive.rs`.
|
||||
|
||||
## Asynchronous region-reply correlation
|
||||
|
||||
- Name and handle lookups subscribe to the continuously dispatched `GridRegion` event stream
|
||||
before sending a request.
|
||||
- Each lookup accepts only the matching name or handle. Unrelated grid, object, avatar, or map
|
||||
traffic cannot complete the request early.
|
||||
- Cancellation and the mapped map-request timeout still bound the one-shot waiter.
|
||||
- The default map-request timeout is 15 seconds rather than 5 seconds because OpenSim map
|
||||
replies on the live varregion can arrive after 7-8 seconds during login.
|
||||
|
||||
Files: `src/grid_manager.rs`, `src/client_core.rs`.
|
||||
|
||||
## OpenSim asset transport fallback
|
||||
|
||||
- When the OpenSim asset capability returns no payload for an asset, the request falls back to
|
||||
the existing UDP asset transfer path instead of reporting a missing asset immediately.
|
||||
|
||||
File: `src/asset_manager.rs`.
|
||||
Reference in New Issue
Block a user