@indiegems/gem-web-sdk 7.4.0 → 7.4.2
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/README.md +54 -0
- package/dist/gem-web-sdk.esm.js +1 -1
- package/dist/gem-web-sdk.game.js +1 -1
- package/dist/gem-web-sdk.min.js +1 -1
- package/dist/gem-web-sdk.sdk.js +1 -1
- package/dist/gem-web-sdk.server.js +1 -1
- package/docs/achievements.md +232 -0
- package/docs/analytics.md +271 -0
- package/docs/api/api-reference-game.md +15308 -0
- package/docs/api/api-reference-server.md +4397 -0
- package/docs/api/reference.json +24130 -0
- package/docs/arcade-economy.md +263 -0
- package/docs/async-opponents.md +396 -0
- package/docs/brand-art.md +334 -0
- package/docs/cross-promotion.md +137 -0
- package/docs/daily-challenges.md +583 -0
- package/docs/dedicated-server-flow.md +879 -0
- package/docs/deprecation-policy.md +124 -0
- package/docs/friends.md +233 -0
- package/docs/game-economy-tutorial.md +326 -0
- package/docs/getting-started.md +552 -0
- package/docs/inventory-and-catalogs.md +1035 -0
- package/docs/leaderboards.md +277 -0
- package/docs/manifest.json +135 -0
- package/docs/match-session.md +288 -0
- package/docs/p2p-and-parties.md +783 -0
- package/docs/platform-rules.md +372 -0
- package/docs/player-sign-in.md +89 -0
- package/docs/room-shapes.md +195 -0
- package/docs/rooms-and-matches.md +779 -0
- package/docs/saving-player-progress.md +457 -0
- package/docs/server-bundles.md +1041 -0
- package/docs/serverless-functions.md +748 -0
- package/docs/trading-and-gifting.md +98 -0
- package/docs/what-a-game-must-do.md +1231 -0
- package/package.json +7 -2
- package/schema/bridge.v1.json +5 -5
- package/schema/capabilities.public.json +189 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indiegems/gem-web-sdk",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.2",
|
|
4
4
|
"description": "postMessage bridge contract between gem-web and browser-playable games",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -40,6 +40,11 @@
|
|
|
40
40
|
"!dist/*.map",
|
|
41
41
|
"!dist/gem-web-sdk.devtools.min.js",
|
|
42
42
|
"schema/bridge.v1.json",
|
|
43
|
-
"
|
|
43
|
+
"schema/capabilities.public.json",
|
|
44
|
+
"brand/*.png",
|
|
45
|
+
"docs/*.md",
|
|
46
|
+
"docs/manifest.json",
|
|
47
|
+
"docs/api/*.md",
|
|
48
|
+
"docs/api/reference.json"
|
|
44
49
|
]
|
|
45
50
|
}
|
package/schema/bridge.v1.json
CHANGED
|
@@ -861,7 +861,7 @@
|
|
|
861
861
|
"GEOMETRY ONLY — no chrome state, no form factor, no orientation. What the",
|
|
862
862
|
"parent's chrome is doing is the parent's business, and a form-factor",
|
|
863
863
|
"signal crossing the bridge is an owner decision this message does not",
|
|
864
|
-
"reopen (
|
|
864
|
+
"reopen (docs/what-a-game-must-do.md, the television section). A",
|
|
865
865
|
"game learns WHICH part of its box is unusable, never why.",
|
|
866
866
|
"",
|
|
867
867
|
"AMENDED, DELIBERATELY: this message once carried insets only. It now also",
|
|
@@ -1027,7 +1027,7 @@
|
|
|
1027
1027
|
"The parent holds that socket because it holds the player token and",
|
|
1028
1028
|
"`POST /v1/ws/ticket` accepts only player tokens. The frame holds a",
|
|
1029
1029
|
"game-scoped token by design, so it cannot open the socket and must not be",
|
|
1030
|
-
"handed a credential for one. See
|
|
1030
|
+
"handed a credential for one. See docs/rooms-and-matches.md §3.",
|
|
1031
1031
|
"",
|
|
1032
1032
|
"CARRIES NO ROOM STATE. No member list, no display names, no join code, no",
|
|
1033
1033
|
"connection details. The frame re-reads the room over its OWN token and",
|
|
@@ -1200,7 +1200,7 @@
|
|
|
1200
1200
|
"look at a room, and cannot seat anybody in one.",
|
|
1201
1201
|
"",
|
|
1202
1202
|
"NO PARTY ID CROSSES. The payload gem-api sends carries one; it stops",
|
|
1203
|
-
"here. The frame has no party surface (
|
|
1203
|
+
"here. The frame has no party surface (docs/p2p-and-parties.md",
|
|
1204
1204
|
"§7.1), and the v2 room routes deliberately replaced the platform party",
|
|
1205
1205
|
"id with a room-scoped marker — relaying it here would put back the",
|
|
1206
1206
|
"cross-game social-graph fact that removal was for.",
|
|
@@ -1279,7 +1279,7 @@
|
|
|
1279
1279
|
"the frame over the frame's OWN TLS connection (POST",
|
|
1280
1280
|
"/matches/{id}/join-credential), so a parent that rewrites an SDP cannot",
|
|
1281
1281
|
"impersonate a peer — it can only break the connection. See",
|
|
1282
|
-
"
|
|
1282
|
+
"docs/p2p-and-parties.md §3.",
|
|
1283
1283
|
"",
|
|
1284
1284
|
"`data` is gem-api's grammar, not this bridge's. It is emitted as a",
|
|
1285
1285
|
"bounded plain-data object rather than a declared field list because the",
|
|
@@ -1460,7 +1460,7 @@
|
|
|
1460
1460
|
"party name. A party is ACCOUNT-LEVEL AND CROSS-GAME — its record carries",
|
|
1461
1461
|
"which other games the members suggest playing and what platforms they are",
|
|
1462
1462
|
"on — so handing it to a game frame would export the player's social graph",
|
|
1463
|
-
"and their activity across the whole catalog. See
|
|
1463
|
+
"and their activity across the whole catalog. See docs/p2p-and-parties.md",
|
|
1464
1464
|
"§6 and DESIGN.md §10."
|
|
1465
1465
|
],
|
|
1466
1466
|
"fields": {
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": [
|
|
3
|
+
"Which bridge messages each capability gates. Generated from the SDK's",
|
|
4
|
+
"capability registry by its codegen; do not edit. A peer advertises a",
|
|
5
|
+
"capability only when it implements every message the capability gates, and",
|
|
6
|
+
"a receiver ignores a capability it does not know."
|
|
7
|
+
],
|
|
8
|
+
"capabilities": {
|
|
9
|
+
"ads": {
|
|
10
|
+
"implemented": true,
|
|
11
|
+
"gates": [
|
|
12
|
+
"gem.requestAd",
|
|
13
|
+
"gem.adResult"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"signIn": {
|
|
17
|
+
"implemented": true,
|
|
18
|
+
"gates": [
|
|
19
|
+
"gem.requestSignIn",
|
|
20
|
+
"gem.signInResult"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"purchases": {
|
|
24
|
+
"implemented": true,
|
|
25
|
+
"gates": [
|
|
26
|
+
"gem.requestPurchase",
|
|
27
|
+
"gem.purchaseResult"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"friendChallenges": {
|
|
31
|
+
"implemented": true,
|
|
32
|
+
"gates": [
|
|
33
|
+
"gem.requestFriendChallenge",
|
|
34
|
+
"gem.friendChallengeResult"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"devtools": {
|
|
38
|
+
"implemented": true,
|
|
39
|
+
"gates": [
|
|
40
|
+
"gem.devtools"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"screenshot": {
|
|
44
|
+
"implemented": true,
|
|
45
|
+
"gates": [
|
|
46
|
+
"gem.screenshot",
|
|
47
|
+
"gem.screenshot.denied"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"feedbackContext": {
|
|
51
|
+
"implemented": true,
|
|
52
|
+
"gates": [
|
|
53
|
+
"gem.requestContext",
|
|
54
|
+
"gem.gameContext"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"rooms": {
|
|
58
|
+
"implemented": true,
|
|
59
|
+
"gates": [
|
|
60
|
+
"gem.roomEvent"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"p2p": {
|
|
64
|
+
"implemented": true,
|
|
65
|
+
"gates": [
|
|
66
|
+
"gem.signal",
|
|
67
|
+
"gem.signalEvent"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"dedicated": {
|
|
71
|
+
"implemented": true,
|
|
72
|
+
"gates": [
|
|
73
|
+
"gem.dedicatedOffer",
|
|
74
|
+
"gem.dedicatedEvent"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"clusterTarget": {
|
|
78
|
+
"implemented": true,
|
|
79
|
+
"gates": [
|
|
80
|
+
"gem.clusterTarget"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"parties": {
|
|
84
|
+
"implemented": true,
|
|
85
|
+
"gates": [
|
|
86
|
+
"gem.partyRequest",
|
|
87
|
+
"gem.partyResult"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"autoStartFailure": {
|
|
91
|
+
"implemented": true,
|
|
92
|
+
"gates": [
|
|
93
|
+
"gem.autoStartFailedEvent"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"partySeating": {
|
|
97
|
+
"implemented": true,
|
|
98
|
+
"gates": [
|
|
99
|
+
"gem.seatedEvent"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"socketState": {
|
|
103
|
+
"implemented": true,
|
|
104
|
+
"gates": [
|
|
105
|
+
"gem.socketState"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"audioState": {
|
|
109
|
+
"implemented": true,
|
|
110
|
+
"gates": [
|
|
111
|
+
"gem.audioState"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"rewardCue": {
|
|
115
|
+
"implemented": true,
|
|
116
|
+
"gates": [
|
|
117
|
+
"gem.rewardCue"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
"frameStats": {
|
|
121
|
+
"implemented": true,
|
|
122
|
+
"gates": [
|
|
123
|
+
"gem.frameStats"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"viewport": {
|
|
127
|
+
"implemented": true,
|
|
128
|
+
"gates": [
|
|
129
|
+
"gem.viewport"
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"reservedAreas": {
|
|
133
|
+
"implemented": true,
|
|
134
|
+
"gates": [
|
|
135
|
+
{
|
|
136
|
+
"namespace": "gem.viewport"
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
"walletDisplay": {
|
|
141
|
+
"implemented": true,
|
|
142
|
+
"gates": [
|
|
143
|
+
"gem.walletDisplay"
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"localHost": {
|
|
147
|
+
"implemented": true,
|
|
148
|
+
"gates": [
|
|
149
|
+
"gem.requestLocalServer",
|
|
150
|
+
"gem.localServer",
|
|
151
|
+
"gem.localServer.denied"
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"cohorts": {
|
|
155
|
+
"implemented": true,
|
|
156
|
+
"gates": [
|
|
157
|
+
"gem.cohorts"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"earnAllowance": {
|
|
161
|
+
"implemented": true,
|
|
162
|
+
"gates": [
|
|
163
|
+
"gem.earnAllowanceChanged"
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
"deviceSettings": {
|
|
167
|
+
"implemented": true,
|
|
168
|
+
"gates": [
|
|
169
|
+
"gem.deviceSettings",
|
|
170
|
+
"gem.deviceSettings.put",
|
|
171
|
+
"gem.deviceSettings.result"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"asyncOpponents": {
|
|
175
|
+
"implemented": false,
|
|
176
|
+
"gates": [
|
|
177
|
+
{
|
|
178
|
+
"namespace": "gem.asyncOpponents"
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"share": {
|
|
183
|
+
"implemented": true,
|
|
184
|
+
"gates": [
|
|
185
|
+
"gem.requestShare"
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|