Update docs
This commit is contained in:
@@ -19,6 +19,14 @@ Do **not** hard-depend on `holesail`.
|
||||
|
||||
Optional: capability proof on stream open (`hyperswarm-capability`).
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
GJ[Guest Java] --> GL["Guest 127.0.0.1"]
|
||||
GL --> Pipe["HyperDHT byte pipe"]
|
||||
Pipe --> HS["Host Squid 127.0.0.1"]
|
||||
HJ[Host Java] --> HS
|
||||
```
|
||||
|
||||
## Consequences
|
||||
|
||||
### Positive
|
||||
|
||||
@@ -17,6 +17,13 @@ A single global authoritative Minecraft simulation across many peers is unrealis
|
||||
4. Guest switches HyperDHT tunnel to neighbor `worldKey` and reconnects Java to localhost.
|
||||
5. Spawn at mapped coordinates.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
R1["Region A Squid"] -->|"border"| Mig["Session migrate<br/>handoff + tunnel switch"]
|
||||
Mig --> R2["Region B Squid"]
|
||||
Java[Java client] -->|"reconnect localhost"| R2
|
||||
```
|
||||
|
||||
**Not in v1:** streaming foreign chunks into the local Squid world or dual-sim entity forwarding.
|
||||
|
||||
Later phases may add interest-based border sync without abandoning local authority.
|
||||
|
||||
@@ -15,6 +15,13 @@ Invite envelope:
|
||||
fj1.<encoded-payload>
|
||||
```
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
JSON["JSON payload<br/>worldKey cap meta"] --> UTF[UTF-8]
|
||||
UTF --> Z32[z32 encode]
|
||||
Z32 --> Str["fj1. string"]
|
||||
```
|
||||
|
||||
Payload (logical) includes protocol version, type (`private-world` | `mesh`), `worldKey`, shared `cap`, optional name/mcVersion/expires.
|
||||
|
||||
Phase 2 encoding: JSON → z32 (debug-friendly). May migrate to compact-encoding later (Q13).
|
||||
|
||||
@@ -44,21 +44,22 @@ GUI remains desirable later, but **runtime authority and release shape must be B
|
||||
| Minecraft authority | **Bare** (same process or Bare worker) | Flying Squid via bare-node-runtime |
|
||||
| Optional GUI | Pear-compatible UI that does **not** own Squid on Node | Prefer Bare UI/TUI first; any desktop GUI must call into Bare-only backend. Electron is **not** the default shell. |
|
||||
|
||||
```text
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ Single Bare executable / Pear app │
|
||||
│ ┌──────────────┐ framed IPC ┌────────────────┐ │
|
||||
│ │ Main (Bare) │◄─────────────────►│ Worker (Bare) │ │
|
||||
│ │ UI or CLI │ │ pear-runtime │ │
|
||||
│ │ Squid mgr │ │ swarm/tunnel │ │
|
||||
│ │ or in-worker │ │ Autobase │ │
|
||||
│ └──────┬───────┘ └───────┬────────┘ │
|
||||
│ │ createMCServer (Bare+compat) │ │
|
||||
│ ▼ ▼ │
|
||||
│ Squid listens 127.0.0.1 only HyperDHT world tunnel │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
▲
|
||||
│ Java Edition → localhost only
|
||||
```mermaid
|
||||
flowchart TB
|
||||
Java["Java Edition<br/>localhost only"]
|
||||
|
||||
subgraph App["Single Bare executable / Pear app"]
|
||||
Main["Main Bare<br/>UI or CLI / Squid mgr"]
|
||||
Worker["Worker Bare<br/>pear-runtime / swarm / tunnel / Autobase"]
|
||||
Squid["Squid listens 127.0.0.1 only"]
|
||||
Tunnel["HyperDHT world tunnel"]
|
||||
Main <-->|"framed IPC"| Worker
|
||||
Main -->|"createMCServer Bare+compat"| Squid
|
||||
Worker --> Tunnel
|
||||
Tunnel <--> Squid
|
||||
end
|
||||
|
||||
Java --> Squid
|
||||
```
|
||||
|
||||
### 4. Distribution: Pear apps + bare-build standalone executables
|
||||
|
||||
Reference in New Issue
Block a user