Update implementation status and fix connection persistence issues in documentation
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
This document summarizes the implementation work completed to enable Overte entities to be properly rendered in the StardustXR compositor.
|
||||
|
||||
**Current Status:** ⚠️ Connection establishes successfully but is terminated after 11-18 seconds due to server-side HMAC verification issues. See [NETWORK_PROTOCOL_INVESTIGATION.md](NETWORK_PROTOCOL_INVESTIGATION.md) for detailed analysis.
|
||||
**Current Status:** ✅ Connection persistence issue is now fixed (see below). All core entity rendering features are implemented. Color tinting and texture application are pending StardustXR API support. See [NETWORK_PROTOCOL_INVESTIGATION.md](NETWORK_PROTOCOL_INVESTIGATION.md) for protocol details.
|
||||
|
||||
### Implemented ✅
|
||||
|
||||
@@ -22,14 +22,14 @@ This document summarizes the implementation work completed to enable Overte enti
|
||||
|
||||
### Blocked / Not Working ❌
|
||||
|
||||
❌ **Connection Persistence** - Killed after 11-18 seconds due to HMAC verification deadlock
|
||||
❌ **Server HMAC Configuration** - Server expects empty hash but packet structure requires 16 bytes
|
||||
❌ **Keep-Alive Mechanism** - Cannot send valid sourced packets that server will accept
|
||||
❌ **Color Tinting** - Data captured but not yet visually applied (requires StardustXR asteroids API extension)
|
||||
❌ **Texture Application** - Data captured and textures downloaded, but not yet visually applied (requires StardustXR material API)
|
||||
❌ **ATP Protocol** - atp:// asset protocol not yet supported (requires AssetClient integration)
|
||||
|
||||
### Pending ⏳
|
||||
### Fixed 🟢
|
||||
|
||||
⏳ **Color Tinting** - Data captured but not yet applied (requires asteroids API extension)
|
||||
⏳ **Texture Support** - Data captured but not yet applied (requires material API)
|
||||
🟢 **Connection Persistence** - Fixed Local ID byte order bug; connection now persists indefinitely (see below)
|
||||
🟢 **HMAC Verification** - Client implementation correct; server config may still block some domains
|
||||
|
||||
## Changes Made
|
||||
|
||||
@@ -68,14 +68,14 @@ The `reify()` function now includes a sophisticated model resolution system:
|
||||
|
||||
**Color and Texture Support Notes**
|
||||
|
||||
While color and texture data are now properly captured and passed through the system, they cannot yet be applied to models because:
|
||||
Color and texture data are now properly captured and passed through the system. Textures are downloaded and cached using the same infrastructure as models. However, neither color nor texture can be visually applied to models yet because:
|
||||
|
||||
- The `asteroids` Model element doesn't expose material manipulation
|
||||
- The `asteroids` Model element does not expose material manipulation
|
||||
- Applying colors would require modifying material base colors
|
||||
- Applying textures would require replacing material texture bindings
|
||||
- Both operations need deeper integration with the Stardust server's material system
|
||||
|
||||
TODO comments have been added to document these limitations and guide future implementation.
|
||||
See [ENTITY_TROUBLESHOOTING.md](ENTITY_TROUBLESHOOTING.md) for details and workarounds.
|
||||
|
||||
### 2. C++ Integration
|
||||
|
||||
@@ -96,14 +96,16 @@ TODO comments have been added to document these limitations and guide future imp
|
||||
- Completion and progress callbacks ✅
|
||||
- Caches to `~/.cache/starworld/models/` ✅
|
||||
|
||||
### 3. Model Downloader (`bridge/src/model_downloader.rs`)
|
||||
|
||||
Already implemented with:
|
||||
- HTTP client using reqwest (blocking API)
|
||||
### 3. Model & Texture Downloader (`bridge/src/model_downloader.rs` and `StardustBridge.cpp`)
|
||||
|
||||
Model and texture downloads are handled with:
|
||||
- HTTP client using reqwest (Rust) and libcurl (C++)
|
||||
- SHA256-based cache filenames
|
||||
- Extension detection (.glb, .gltf, .vrm)
|
||||
- Extension detection (.glb, .gltf, .vrm, .png, .jpg, etc.)
|
||||
- Temporary file downloads with atomic rename
|
||||
- Cache hit detection to avoid re-downloads
|
||||
- Async download and progress callbacks (C++)
|
||||
|
||||
## Data Flow
|
||||
|
||||
@@ -218,7 +220,7 @@ export STARWORLD_BRIDGE_PATH=./bridge/target/release
|
||||
### 4. Download Progress Not Visible to User
|
||||
**Status**: Logged to console only
|
||||
**Reason**: No UI/progress indicator in StardustXR client
|
||||
**Workaround**: Check console logs
|
||||
**Workaround**: Check console logs or use debug flags (see ENTITY_TROUBLESHOOTING.md)
|
||||
**Future**: Could add visual loading indicators via Stardust UI elements
|
||||
|
||||
## Build Instructions
|
||||
@@ -306,9 +308,10 @@ The Overte to Stardust entity rendering pipeline is now **functionally complete*
|
||||
- Applies transforms and dimensions correctly ✅
|
||||
- Captures color and texture data for future use ✅
|
||||
|
||||
While color tinting and texture application are not yet functional (due to asteroids API limitations), the infrastructure is in place and these features can be added when the API is extended.
|
||||
While color tinting and texture application are not yet functional (due to asteroids API limitations), the infrastructure is in place and these features can be added when the API is extended. Texture download and caching is fully implemented and ready for use when the API is available.
|
||||
|
||||
The implementation is production-ready for rendering Overte worlds in StardustXR, with all necessary error handling, logging, and fallback mechanisms in place. See [ENTITY_TROUBLESHOOTING.md](ENTITY_TROUBLESHOOTING.md) for debug flags and troubleshooting steps.
|
||||
|
||||
The implementation is production-ready for rendering Overte worlds in StardustXR, with all necessary error handling, logging, and fallback mechanisms in place.
|
||||
|
||||
### Connection Persistence Fix (Nov 10, 2025)
|
||||
|
||||
@@ -339,6 +342,10 @@ The connection now stays alive indefinitely with the server properly recognizing
|
||||
|
||||
---
|
||||
|
||||
**For troubleshooting, debug flags, and further details, see [ENTITY_TROUBLESHOOTING.md](ENTITY_TROUBLESHOOTING.md).**
|
||||
|
||||
---
|
||||
|
||||
**Implementation Date**: November 9, 2025
|
||||
**Connection Fix Date**: November 10, 2025
|
||||
**Tested With**: Stardust server (dev branch), Overte 2024.11.x
|
||||
|
||||
Reference in New Issue
Block a user