@genex-ai/cli-demo 1.6.7-dev.444 → 1.7.0-dev.446
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genex-ai/cli-demo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0-dev.446",
|
|
4
4
|
"description": "Set up your project's agent workspace (.claude/.codex/.cursor in the game folder), authorize, create a game project, generate AI assets, and publish (genex CLI).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -60,7 +60,9 @@ export interface ProximityVoiceOptions {
|
|
|
60
60
|
maxDistance?: number;
|
|
61
61
|
/** Falloff steepness. Default 1.4 — a little sharper than linear reads as "nearby". */
|
|
62
62
|
rolloffFactor?: number;
|
|
63
|
-
/**
|
|
63
|
+
/** OVERRIDE the ICE servers. You do not need this — the SDK fetches relay (TURN)
|
|
64
|
+
* credentials from the platform on join, which is what lets the ~15% of players behind
|
|
65
|
+
* symmetric NAT or carrier CGNAT be heard at all. Set it only to run your own TURN. */
|
|
64
66
|
iceServers?: RTCIceServer[];
|
|
65
67
|
/** Push-to-talk key. Default "KeyV"; pass null for open-mic. */
|
|
66
68
|
pushToTalkKey?: string | null;
|
|
@@ -46,8 +46,9 @@ npm i @genex-ai/multiplayer@^0.12.0
|
|
|
46
46
|
> landed in 0.10; confirmed object controls, snaps, host-tick teardown, and reconnect rebasing
|
|
47
47
|
> in 0.9. An older resolve does not have those.
|
|
48
48
|
|
|
49
|
-
This skill targets `@genex-ai/multiplayer` **≥ 0.
|
|
49
|
+
This skill targets `@genex-ai/multiplayer` **≥ 0.16.0** (`objects`/`host` since 0.4; verified per-player `avatarUrl` since 0.12;
|
|
50
50
|
room text chat via `room.chat` since 0.14; mesh voice via `room.voice` since 0.15;
|
|
51
|
+
automatic TURN (voice connects behind symmetric NAT with no configuration) since 0.16;
|
|
51
52
|
`matchmake()` since 0.5; private lobbies since 0.7; auto-reconnect + `inputs`/`onHostTick`
|
|
52
53
|
since 0.8; soft ownership handoff since 0.8.4; confirmed controls, snap epochs, and host-tick
|
|
53
54
|
lifecycle guarantees since 0.9; regional relay selection via `getColyseusUrls()` since 0.10; host-only `setRoomOpen()` since 0.13;
|
|
@@ -673,9 +674,12 @@ fights (many writers). A ball on `objects` glides and has one owner. That's the
|
|
|
673
674
|
prompt and audio playback on a user gesture — and it REJECTS when the player denies the
|
|
674
675
|
mic, which is an ordinary outcome to show, not an error to swallow. For a 3D game use
|
|
675
676
|
`npx genex controller voice` (proximity audio + push-to-talk); it joins with
|
|
676
|
-
`{ spatial: true }` and drives a `THREE.PositionalAudio` per speaker. **
|
|
677
|
-
|
|
678
|
-
|
|
677
|
+
`{ spatial: true }` and drives a `THREE.PositionalAudio` per speaker. **TURN is automatic
|
|
678
|
+
— do not pass `iceServers`**: `join()` fetches short-lived relay credentials from the
|
|
679
|
+
platform before opening any peer connection, which is what lets the ~15% of players behind
|
|
680
|
+
symmetric NAT or carrier CGNAT be heard at all (in a mesh they fail every leg, so they
|
|
681
|
+
connect to nobody while everyone else works — a miserable bug to diagnose from a report).
|
|
682
|
+
Passing `iceServers` overrides this and is only for running your own TURN.
|
|
679
683
|
- `room.inputs.send(payload)` / `room.inputs.on((fromId, payload) => …)` — the host-routed
|
|
680
684
|
input channel for host-authoritative physics: anyone sends, ONLY the current host receives.
|
|
681
685
|
See [references/host-physics.md](references/host-physics.md).
|