No edit summary |
fix formatting |
||
(152 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{#mermaid:sequenceDiagram | {{#mermaid:sequenceDiagram | ||
participant C as <translate><!--T:1--> Client</translate> | participant C as <translate nowrap><!--T:1--> Client</translate> | ||
participant A as <translate><!--T:2--> API</translate> | participant A as <translate nowrap><!--T:2--> API</translate> | ||
participant R as <translate><!--T:3--> Relay</translate> | participant R as <translate nowrap><!--T:3--> Relay</translate> | ||
participant H as <translate><!--T:4--> Session Host</translate> | participant H as <translate nowrap><!--T:4--> Session Host</translate> | ||
autonumber | autonumber | ||
C->>A: <translate nowrap><!--T:5--> What relays are available? (api.resonite.com/networknodes) | C->>A: <translate nowrap><!--T:5--> What relays are available?</translate> (api.resonite.com/networknodes) | ||
destroy A | destroy A | ||
A-->>C: <translate><!--T:6--> Here's a list of relays</translate> | A-->>C: <translate nowrap><!--T:6--> Here's a list of relays</translate> | ||
C-->C: <translate><!--T:7--> Select the best relay based on ping and other stats</translate> | C-->C: <translate nowrap><!--T:7--> Select the best relay based on ping and other stats</translate> | ||
C->>R: <translate><!--T:8--> Connect to best relay</translate> | C->>R: <translate nowrap><!--T:8--> Connect to best relay</translate> | ||
activate R | activate R | ||
activate C | activate C | ||
activate H | activate H | ||
R->>H: <translate><!--T:9--> Connect to session host</translate> | R->>H: <translate nowrap><!--T:9--> Connect to session host</translate> | ||
Note over C,H: <translate><!--T:10--> LNL messages relayed asynchronously</translate> | Note over C,H: <translate nowrap><!--T:10--> LNL messages relayed asynchronously</translate> | ||
autonumber off | autonumber off | ||
H->>R: <translate><!--T:11--> LNL traffic</translate> | H->>R: <translate nowrap><!--T:11--> LNL traffic</translate> | ||
C->>R: <translate><!--T:12--> LNL traffic</translate> | C->>R: <translate nowrap><!--T:12--> LNL traffic</translate> | ||
deactivate C | deactivate C | ||
deactivate R | deactivate R | ||
deactivate H | deactivate H | ||
}} | |||
{{#mermaid:flowchart BT | |||
subgraph outside | |||
InvalidSpace["Invalid, not linked"] | |||
RootSlot | |||
end | |||
subgraph RootSlot [RootSlot] | |||
World["Space #34;World#34;"] | |||
color["World/Color1"] --> World | |||
UserRootSlot | |||
end | |||
subgraph UserRootSlot | |||
UserSpace["Space #34;User#34;"] | |||
AvatarRootSlot | |||
V["User/Voice"] --> UserSpace | |||
V2["User/Color"] --> UserSpace | |||
end | |||
subgraph AvatarRootSlot | |||
avatar["User/Avatar"] | |||
avatarworld["World/Avatar.U-myid"] | |||
hips["HipsSlot"] --> AvatarSpace | |||
invalid["None/float"] | |||
AvatarSpace["Space #34;Avatar#34;"] | |||
Flux2_node0(["DynamicVariableInput#60;ColorX#62;#12;#34;World/Color1#34;"]) | |||
Flux2_node0 -. points to .-> color | |||
end | |||
avatarworld --> World | |||
avatar --> UserSpace | |||
subgraph Flux1 | |||
Flux1_node0(["User Root Slot"]) -. automatically points to .-> UserRootSlot | |||
Flux1_node1(["Read #34;User/Avatar#34;"]) --> Flux1_node0 | |||
Flux1_node1 -. points to .-> AvatarRootSlot | |||
Flux1_node2(["Read Variable #34;Avatar/Hips#34;"]) --> Flux1_node1 | |||
Flux1_node2 -. points to .-> hips | |||
end | |||
invalid --> InvalidSpace | |||
}} | |||
{{#mermaid:flowchart LR | |||
a --> b & c--> d | |||
}} | }} |
Latest revision as of 21:53, 31 March 2024