Introduction
EntropyCanvasSDK Architecture
Section titled “EntropyCanvasSDK Architecture”The EntropyCanvasSDK serves as the integration layer for applications building upon the Entropy ecosystem. It bridges the low-level primitives of EntropyCore and the distributed capabilities of EntropyNetworking to provide high-level abstractions for Canvas (collaborative sessions) and Scene (USD-based 3D content).
System Context
Section titled “System Context”The SDK sits between the Application layer and the Core/Networking foundations.
graph TD
App["Application<br/>(Portal, Canvas, Viewer)"] --> SDK["EntropyCanvasSDK"]
subgraph "EntropyCanvasSDK"
Client["CanvasClient<br/>(Session Mgmt)"]
Scene["SceneSystem<br/>(USD Stage)"]
Assets["AssetClient<br/>(Streaming)"]
end
SDK --> Core["EntropyCore<br/>(Concurrency, VFS, TypeSystem)"]
SDK --> Net["EntropyNetworking<br/>(Protocol, Replication)"]
Key Modules
Section titled “Key Modules”Manages the connection to the Entropy Grid.
- CanvasClient: The primary entry point for joining sessions.
- AssetClient: Handles streaming of heavy data (Meshes, Textures) from the Asset System.
- Discovery: Automatically finds local or remote Canvas instances.
Provides a synchronized 3D environment based on USD.
- SceneGraph: Manages the hierarchy of entities.
- SceneReplicator: Syncs local changes to the network and applies remote updates.
- USD Integration: Seamlessly maps network operations to USD prim modifications.
Core Concepts
Section titled “Core Concepts”- Canvas: A shared collaborative session. Think of it as a “Room” or “World”.
- Asset: A binary resource (texture, model, shader) referenced by the Scene.
- Client: An actor participating in the Canvas.