@diffenderfer-games/hub 2.0.0-next.7 → 2.0.0-next.9
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/CHANGELOG.md +43 -4
- package/dist/auto.d.ts +3 -3
- package/dist/auto.js +2 -2
- package/dist/avatar-pixi.d.ts +19 -1
- package/dist/avatar-pixi.d.ts.map +1 -1
- package/dist/avatar-pixi.js +37 -18
- package/dist/avatar-pixi.js.map +1 -1
- package/dist/avatar-svg.d.ts +1 -1
- package/dist/avatar-svg.js +1 -1
- package/dist/avatar-three.d.ts +1 -1
- package/dist/avatar.d.ts +3 -3
- package/dist/avatar.js +20 -7
- package/dist/avatar.js.map +1 -1
- package/dist/doctor/cli.mjs +58 -4
- package/dist/doctor/cli.mjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/shared/animator.d.ts +1 -1
- package/dist/shared/art.js +1 -1
- package/dist/shared/atlas.d.ts +5 -1
- package/dist/shared/atlas.d.ts.map +1 -1
- package/dist/shared/avatar.d.ts +10 -4
- package/dist/shared/avatar.d.ts.map +1 -1
- package/dist/shared/bridge.js +2 -2
- package/dist/shared/bridge.js.map +1 -1
- package/dist/shared/client-version.gen.js +1 -1
- package/dist/shared/daily.js +1 -1
- package/dist/shared/describe.d.ts +1 -1
- package/dist/shared/describe.d.ts.map +1 -1
- package/dist/shared/describe.js +1 -1
- package/dist/shared/index.d.ts +88 -11
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/live-canvas.js +1 -1
- package/dist/shared/overlays.js +1 -1
- package/dist/shared/overlays.js.map +1 -1
- package/dist/shared/pose-key.js +2 -2
- package/dist/shared/pose-key.js.map +1 -1
- package/dist/shared/social.d.ts +19 -4
- package/dist/shared/social.d.ts.map +1 -1
- package/dist/shared/src.js +178 -28
- package/dist/shared/src.js.map +1 -1
- package/dist/shared/svg-markup.js +430 -21
- package/dist/shared/svg-markup.js.map +1 -1
- package/dist/shared/svg.js +2 -2
- package/dist/shared/svg.js.map +1 -1
- package/dist/shared/types.d.ts +9 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/social.d.ts +2 -2
- package/dist/turns-rules.d.ts +2 -0
- package/dist/turns-rules.js +1 -0
- package/dist/turns.d.ts +23 -1
- package/dist/turns.d.ts.map +1 -1
- package/dist/turns.js +79 -13
- package/dist/turns.js.map +1 -1
- package/package.json +8 -2
- package/src/avatar/adapters/pixi-crowd.ts +45 -18
- package/src/avatar/atlas.ts +16 -6
- package/src/avatar/layout.ts +1 -1
- package/src/avatar/outputs/canvas.ts +2 -2
- package/src/avatar/outputs/svg.ts +2 -2
- package/src/avatar/render/body.ts +2 -2
- package/src/avatar/render/compose.ts +25 -8
- package/src/avatar/render/frame.ts +15 -2
- package/src/avatar/render/types.ts +9 -0
- package/src/avatar/render/walker-parts.ts +121 -0
- package/src/avatar/render/walker.ts +199 -0
- package/src/avatar.ts +2 -1
- package/src/core/rest/routes.gen.ts +1 -0
- package/src/core/turns/hub-turns.ts +25 -4
- package/src/core/turns/turn-game.ts +143 -21
- package/src/core/turns/your-turn-buzz.ts +69 -0
- package/src/core/version/client-version.gen.ts +1 -1
- package/src/doctor/checks.ts +2 -2
- package/src/doctor/cli.ts +5 -2
- package/src/doctor/world-check.ts +61 -0
- package/src/index.ts +2 -1
- package/src/realtime/runtime-api.ts +5 -2
- package/src/realtime/types.ts +1 -0
- package/src/realtime/world-types.ts +20 -0
- package/src/turns-kit/check-rules.ts +116 -17
- package/src/turns-rules.ts +12 -0
- package/src/turns.ts +4 -3
package/dist/doctor/cli.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
4
|
import { parseArgs } from "node:util";
|
|
5
5
|
import { GAME_LABELS, GamePackageJson, HubVersion, splitGameLabels } from "@diffenderfer-games/hub-contract";
|
|
6
|
+
import { BUILT_IN_WORLD_TYPES, WORLD_LIMITS, parseWorldMapText } from "@diffenderfer-games/world";
|
|
6
7
|
//#region src/core/version/client-version.gen.ts
|
|
7
8
|
/** This client's package version, sent as `x-hub-client` on REST calls and `client` in `hello`. */
|
|
8
|
-
const HUB_CLIENT_VERSION = "2.0.0-next.
|
|
9
|
+
const HUB_CLIENT_VERSION = "2.0.0-next.9";
|
|
9
10
|
//#endregion
|
|
10
11
|
//#region src/core/version/semver.ts
|
|
11
12
|
const VERSION_PATTERN = /^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/;
|
|
@@ -193,6 +194,57 @@ function checkManifest(packageJson) {
|
|
|
193
194
|
}));
|
|
194
195
|
}
|
|
195
196
|
//#endregion
|
|
197
|
+
//#region src/doctor/world-check.ts
|
|
198
|
+
/**
|
|
199
|
+
* `hub-doctor`'s world check (docs/plans/world.md §14.6): a `game.world.map`
|
|
200
|
+
* file must exist inside the game, be within the size limit and be a valid
|
|
201
|
+
* `dg-world@1` map (the same `parseWorldMapText` the hub runs at load); a
|
|
202
|
+
* `game.world.generate.type` the hub doesn't know is a warning.
|
|
203
|
+
*/
|
|
204
|
+
/** The most map problems listed (the rest are counted). */
|
|
205
|
+
const MAX_LISTED_PROBLEMS = 20;
|
|
206
|
+
/** Checks the map file and world type `game.world` names. A manifest that doesn't parse is left to `checkManifest`. */
|
|
207
|
+
function checkWorld(gameDir, packageJson) {
|
|
208
|
+
const parsed = GamePackageJson.safeParse(packageJson);
|
|
209
|
+
const world = parsed.success ? parsed.data.game.world : void 0;
|
|
210
|
+
if (world === void 0) return [];
|
|
211
|
+
const findings = [];
|
|
212
|
+
const type = world.generate?.type;
|
|
213
|
+
if (type !== void 0 && !BUILT_IN_WORLD_TYPES.some((known) => known.id === type)) findings.push({
|
|
214
|
+
level: "warning",
|
|
215
|
+
check: "world",
|
|
216
|
+
message: `game.world.generate.type: the hub has no world type "${type}"; use one of ${BUILT_IN_WORLD_TYPES.map((known) => known.id).join(", ")}`
|
|
217
|
+
});
|
|
218
|
+
return world.map === void 0 ? findings : [...findings, ...checkMapFile(gameDir, world.map)];
|
|
219
|
+
}
|
|
220
|
+
/** One map file's findings. */
|
|
221
|
+
function checkMapFile(gameDir, mapFile) {
|
|
222
|
+
const path = join(gameDir, mapFile);
|
|
223
|
+
const error = (message) => ({
|
|
224
|
+
level: "error",
|
|
225
|
+
check: "world",
|
|
226
|
+
message: `game.world.map (${mapFile}): ${message}`
|
|
227
|
+
});
|
|
228
|
+
if (!existsSync(path) || !statSync(path).isFile()) return [error("the file does not exist (build or commit it)")];
|
|
229
|
+
const bytes = statSync(path).size;
|
|
230
|
+
if (bytes > WORLD_LIMITS.bytes) return [error(`${String(bytes)} bytes is over the ${String(WORLD_LIMITS.bytes)}-byte limit (save layers as "rle")`)];
|
|
231
|
+
const result = parseWorldMapText(readFileSync(path, "utf8"));
|
|
232
|
+
const listed = result.problems.slice(0, MAX_LISTED_PROBLEMS).map((problem) => ({
|
|
233
|
+
level: problem.severity === "error" ? "error" : "warning",
|
|
234
|
+
check: "world",
|
|
235
|
+
message: `game.world.map (${mapFile}): ${problem.message}`
|
|
236
|
+
}));
|
|
237
|
+
const more = result.problems.length - listed.length;
|
|
238
|
+
if (more > 0) listed.push(error(`and ${String(more)} more problems`));
|
|
239
|
+
if (!result.ok) return listed;
|
|
240
|
+
const { map } = result;
|
|
241
|
+
return [...listed, {
|
|
242
|
+
level: "info",
|
|
243
|
+
check: "world",
|
|
244
|
+
message: `game.world.map (${mapFile}) is a valid dg-world@1 map: ${map.title}, ${String(map.width)} × ${String(map.height)}, ${String(map.objects.length)} objects, ${String(bytes)} bytes`
|
|
245
|
+
}];
|
|
246
|
+
}
|
|
247
|
+
//#endregion
|
|
196
248
|
//#region src/doctor/cli.ts
|
|
197
249
|
/**
|
|
198
250
|
* `hub-doctor`: checks a game against the hub (plan §4.3.7). Run it in a
|
|
@@ -206,7 +258,8 @@ function checkManifest(packageJson) {
|
|
|
206
258
|
* `/_api/version` (`--hub`, default `https://diffenderfer.games`): outside
|
|
207
259
|
* `supported` fails, `deprecated` warns (`--offline` skips this check);
|
|
208
260
|
* - a stale vendored `src/hub/` copy or `scripts/sync-hub.mjs` warns;
|
|
209
|
-
* - the `package.json` `game.*` block must match the contract's schema
|
|
261
|
+
* - the `package.json` `game.*` block must match the contract's schema;
|
|
262
|
+
* - a `game.world.map` file must exist and be a valid `dg-world@1` map within the size limit.
|
|
210
263
|
*
|
|
211
264
|
* Exits 1 when any check fails.
|
|
212
265
|
*/
|
|
@@ -254,7 +307,8 @@ async function runDoctor(options) {
|
|
|
254
307
|
if (!options.isOffline) findings.push(...checkClientVersion(installedClientVersion(options.gameDir), await fetchHubVersion(options.hubUrl, options.timeoutMs)));
|
|
255
308
|
findings.push(...checkVendoredCopies(options.gameDir));
|
|
256
309
|
try {
|
|
257
|
-
|
|
310
|
+
const packageJson = readJsonFile(join(options.gameDir, "package.json"));
|
|
311
|
+
findings.push(...checkManifest(packageJson), ...checkWorld(options.gameDir, packageJson));
|
|
258
312
|
} catch (failure) {
|
|
259
313
|
findings.push({
|
|
260
314
|
level: "error",
|
package/dist/doctor/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","names":[],"sources":["../../src/core/version/client-version.gen.ts","../../src/core/version/semver.ts","../../src/core/version/hub-version.ts","../../src/doctor/hub-version-fetch.ts","../../src/doctor/checks.ts","../../src/doctor/cli.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.mjs","names":[],"sources":["../../src/core/version/client-version.gen.ts","../../src/core/version/semver.ts","../../src/core/version/hub-version.ts","../../src/doctor/hub-version-fetch.ts","../../src/doctor/checks.ts","../../src/doctor/world-check.ts","../../src/doctor/cli.ts"],"mappings":";;;;;;;;AAEA,MAAa,qBAAqB;;;ACclC,MAAM,kBAAkB;;AAGxB,SAAgB,aAAa,MAAyC;CACpE,MAAM,QAAQ,gBAAgB,KAAK,KAAK,KAAK,CAAC;CAC9C,IAAI,UAAU,MACZ;CAEF,MAAM,GAAG,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,cAAc;CAC9D,OAAO;EAAE,SAAS;GAAC,OAAO,KAAK;GAAG,OAAO,KAAK;GAAG,OAAO,KAAK;EAAC;EAAG,YAAY,eAAe,KAAA,IAAY,CAAC,IAAI,WAAW,MAAM,GAAG;CAAE;AACrI;;AAGA,SAAS,mBAAmB,OAAe,QAAwB;CACjE,MAAM,iBAAiB,QAAQ,KAAK,KAAK;CACzC,MAAM,kBAAkB,QAAQ,KAAK,MAAM;CAC3C,IAAI,kBAAkB,iBACpB,OAAO,OAAO,KAAK,IAAI,OAAO,MAAM;CAEtC,IAAI,mBAAmB,iBACrB,OAAO,iBAAiB,KAAK;CAE/B,OAAO,QAAQ,SAAS,KAAK,QAAQ,SAAS,IAAI;AACpD;;AAGA,SAAgB,gBAAgB,OAAsB,QAA+B;CACnF,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;EAC7B,MAAM,cAAc,MAAM,QAAQ,MAAM,MAAM,OAAO,QAAQ,MAAM;EACnE,IAAI,eAAe,GACjB,OAAO;CAEX;CACA,IAAI,MAAM,WAAW,WAAW,KAAK,OAAO,WAAW,WAAW,GAChE,OAAO,OAAO,WAAW,SAAS,MAAM,WAAW;CAErD,MAAM,SAAS,KAAK,IAAI,MAAM,WAAW,QAAQ,OAAO,WAAW,MAAM;CACzE,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;EAClC,MAAM,kBAAkB,MAAM,WAAW;EACzC,MAAM,mBAAmB,OAAO,WAAW;EAC3C,IAAI,oBAAoB,KAAA,KAAa,qBAAqB,KAAA,GACxD,OAAO,oBAAoB,KAAA,IAAY,KAAK;EAE9C,MAAM,aAAa,mBAAmB,iBAAiB,gBAAgB;EACvE,IAAI,eAAe,GACjB,OAAO;CAEX;CACA,OAAO;AACT;AAEA,MAAM,qBAAqB;;AAG3B,SAAS,gBAAgB,SAAwB,YAA6B;CAC5E,MAAM,QAAQ,mBAAmB,KAAK,UAAU;CAChD,MAAM,QAAQ,QAAQ,OAAO,KAAA,IAAY,KAAA,IAAY,aAAa,MAAM,EAAE;CAC1E,IAAI,UAAU,QAAQ,UAAU,KAAA,GAC9B,OAAO;CAET,MAAM,QAAQ,gBAAgB,SAAS,KAAK;CAC5C,QAAQ,MAAM,IAAd;EACE,KAAK,MAAM,OAAO,SAAS;EAC3B,KAAK,MAAM,OAAO,SAAS;EAC3B,KAAK,KAAK,OAAO,QAAQ;EACzB,KAAK,KAAK,OAAO,QAAQ;EACzB,SAAS,OAAO,UAAU;CAC5B;AACF;;AAGA,SAAgB,eAAe,aAAqB,OAAwB;CAC1E,MAAM,UAAU,aAAa,WAAW;CACxC,IAAI,YAAY,KAAA,GACd,OAAO;CAET,OAAO,MAAM,MAAM,IAAI,CAAC,CAAC,MAAM,gBAAgB;EAC7C,MAAM,cAAc,YAAY,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,eAAe,eAAe,EAAE;EAC5F,OAAO,YAAY,SAAS,KAAK,YAAY,OAAO,eAAe,gBAAgB,SAAS,UAAU,CAAC;CACzG,CAAC;AACH;;;;ACzEA,SAAgB,cAAc,YAA+B,UAAkB,oBAAmC;CAChH,IAAI,eAAe,MACjB,OAAO;CAET,IAAI,CAAC,eAAe,SAAS,WAAW,SAAS,GAC/C,OAAO;CAET,OAAO,eAAe,SAAS,WAAW,UAAU,IAAI,eAAe;AACzE;;;;;;;;ACxBA,MAAa,yBAAyB;;AAWtC,SAAgB,iBAAiB,QAAsE;CACrG,OAAO,WAAW,QAAQ,oBAAoB;AAChD;;;;;AAMA,eAAsB,gBAAgB,QAAgB,YAAoB,wBAAqE;CAC7I,MAAM,MAAM,IAAI,IAAI,iBAAiB,MAAM,CAAC,CAAC,SAAS;CACtD,IAAI;EACF,MAAM,WAAW,MAAM,MAAM,KAAK,EAAE,QAAQ,YAAY,QAAQ,SAAS,EAAE,CAAC;EAC5E,IAAI,SAAS,WAAW,KACtB,OAAO;EAET,IAAI,CAAC,SAAS,IACZ,OAAO;GAAE,gBAAgB;GAAK,QAAQ,QAAQ,OAAO,SAAS,MAAM;EAAI;EAE1E,OAAO,WAAW,MAAM,MAAM,SAAS,KAAK,CAAC;CAC/C,SAAS,SAAS;EAGhB,OAAO;GAAE,gBAAgB;GAAK,QAFZ,mBAAmB,UAAU,QAAQ,SAAS,kBAAkB,QAAQ,SAAS,gBACxE,mBAAmB,OAAO,SAAS,EAAE,OAAO,mBAAmB,QAAQ,QAAQ,UAAU,OAAO,OAAO;EAC7F;CACvC;AACF;;;;;;;;AClBA,MAAM,aAAa;;;;;;;AAQnB,SAAgB,mBAAmB,kBAA0B,YAA2D;CACtH,IAAI,iBAAiB,UAAU,GAC7B,OAAO,CAAC;EAAE,OAAO;EAAS,OAAO;EAAW,SAAS,sBAAsB,WAAW,eAAe,IAAI,WAAW,OAAO;CAA6D,CAAC;CAE3L,QAAQ,cAAc,YAAY,gBAAgB,GAAlD;EACE,KAAK,eACH,OAAO,CAAC;GAAE,OAAO;GAAS,OAAO;GAAW,SAAS,2BAA2B,iBAAiB,2CAA2C,YAAY,aAAa,IAAI,KAAK;EAAa,CAAC;EAC9L,KAAK,cACH,OAAO,CAAC;GAAE,OAAO;GAAW,OAAO;GAAW,SAAS,2BAA2B,iBAAiB,8BAA8B,YAAY,cAAc,IAAI,KAAK;EAAa,CAAC;EACpL,KAAK,WACH,OAAO,CAAC;GAAE,OAAO;GAAQ,OAAO;GAAW,SAAS;EAAqF,CAAC;EAC5I,KAAK,aACH,OAAO,CAAC;GAAE,OAAO;GAAQ,OAAO;GAAW,SAAS,2BAA2B,iBAAiB,qBAAqB,YAAY,UAAU,IAAI;EAAG,CAAC;CACvJ;AACF;;AAGA,MAAM,qBAAqB;CACzB;CACA;CACA;CACA;AACF;;AAGA,SAAgB,oBAAoB,SAA4B;CAC9D,OAAO,mBAAmB,QAAQ,aAAa,WAAW,KAAK,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc;EACrG,OAAO;EACP,OAAO;EACP,SAAS,GAAG,SAAS;CACvB,EAAE;AACJ;;AAIA,SAAgB,cAAc,aAAiC;CAC7D,MAAM,SAAS,gBAAgB,UAAU,WAAW;CACpD,IAAI,OAAO,SAAS;EAClB,MAAM,gBAAgB,gBAAgB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;EACrE,OAAO,CACL;GAAE,OAAO;GAAQ,OAAO;GAAY,SAAS,8BAA8B,OAAO,KAAK,KAAK,KAAK;EAAG,GACpG,GAAG,cAAc,KAAK,WAAoB;GACxC,OAAO;GACP,OAAO;GACP,SAAS,iBAAiB,MAAM,8DAA8D,YAAY,KAAK,IAAI;EACrH,EAAE,CACJ;CACF;CACA,OAAO,OAAO,MAAM,OAAO,KAAK,WAAW;EACzC,OAAO;EACP,OAAO;EACP,SAAS,GAAG,MAAM,KAAK,WAAW,IAAI,mBAAmB,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM;CAC1F,EAAE;AACJ;;;;;;;;;;ACxEA,MAAM,sBAAsB;;AAI5B,SAAgB,WAAW,SAAiB,aAAiC;CAC3E,MAAM,SAAS,gBAAgB,UAAU,WAAW;CACpD,MAAM,QAAQ,OAAO,UAAU,OAAO,KAAK,KAAK,QAAQ,KAAA;CACxD,IAAI,UAAU,KAAA,GACZ,OAAO,CAAC;CAEV,MAAM,WAAsB,CAAC;CAC7B,MAAM,OAAO,MAAM,UAAU;CAC7B,IAAI,SAAS,KAAA,KAAa,CAAC,qBAAqB,MAAM,UAAU,MAAM,OAAO,IAAI,GAC/E,SAAS,KAAK;EAAE,OAAO;EAAW,OAAO;EAAS,SAAS,wDAAwD,KAAK,gBAAgB,qBAAqB,KAAK,UAAU,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI;CAAI,CAAC;CAEtM,OAAO,MAAM,QAAQ,KAAA,IAAY,WAAW,CAAC,GAAG,UAAU,GAAG,aAAa,SAAS,MAAM,GAAG,CAAC;AAC/F;;AAGA,SAAgB,aAAa,SAAiB,SAA4B;CACxE,MAAM,OAAO,KAAK,SAAS,OAAO;CAClC,MAAM,SAAS,aAA8B;EAAE,OAAO;EAAS,OAAO;EAAS,SAAS,mBAAmB,QAAQ,KAAK;CAAU;CAClI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,GAC9C,OAAO,CAAC,MAAM,8CAA8C,CAAC;CAE/D,MAAM,QAAQ,SAAS,IAAI,CAAC,CAAC;CAC7B,IAAI,QAAQ,aAAa,OACvB,OAAO,CAAC,MAAM,GAAG,OAAO,KAAK,EAAE,qBAAqB,OAAO,aAAa,KAAK,EAAE,mCAAmC,CAAC;CAErH,MAAM,SAAS,kBAAkB,aAAa,MAAM,MAAM,CAAC;CAC3D,MAAM,SAAS,OAAO,SAAS,MAAM,GAAG,mBAAmB,CAAC,CAAC,KAAK,aAAsB;EACtF,OAAO,QAAQ,aAAa,UAAU,UAAU;EAChD,OAAO;EACP,SAAS,mBAAmB,QAAQ,KAAK,QAAQ;CACnD,EAAE;CACF,MAAM,OAAO,OAAO,SAAS,SAAS,OAAO;CAC7C,IAAI,OAAO,GACT,OAAO,KAAK,MAAM,OAAO,OAAO,IAAI,EAAE,eAAe,CAAC;CAExD,IAAI,CAAC,OAAO,IACV,OAAO;CAET,MAAM,EAAE,QAAQ;CAChB,OAAO,CAAC,GAAG,QAAQ;EACjB,OAAO;EAAQ,OAAO;EACtB,SAAS,mBAAmB,QAAQ,+BAA+B,IAAI,MAAM,IAAI,OAAO,IAAI,KAAK,EAAE,KAAK,OAAO,IAAI,MAAM,EAAE,IAAI,OAAO,IAAI,QAAQ,MAAM,EAAE,YAAY,OAAO,KAAK,EAAE;CACtL,CAAC;AACH;;;;;;;;;;;;;;;;;;;;AClCA,MAAM,kBAAkB;AAYxB,SAAS,cAA6B;CACpC,MAAM,EAAE,WAAW,UAAU,EAC3B,SAAS;EACP,KAAK,EAAE,MAAM,SAAS;EACtB,KAAK,EAAE,MAAM,SAAS;EACtB,SAAS,EAAE,MAAM,SAAS;EAC1B,SAAS;GAAE,MAAM;GAAW,SAAS;EAAM;EAC3C,MAAM;GAAE,MAAM;GAAW,SAAS;EAAM;CAC1C,EACF,CAAC;CACD,MAAM,YAAY,OAAO,YAAY,KAAA,IAAY,yBAAyB,OAAO,OAAO,OAAO;CAC/F,IAAI,CAAC,OAAO,SAAS,SAAS,KAAK,aAAa,GAAG;EACjD,QAAQ,OAAO,MAAM,mEAAmE;EACxF,QAAQ,KAAK,CAAC;CAChB;CACA,OAAO;EAAE,SAAS,QAAQ,OAAO,OAAO,GAAG;EAAG,QAAQ,OAAO,OAAO;EAAiB;EAAW,WAAW,OAAO;EAAS,QAAQ,OAAO;CAAK;AACjJ;AAGA,SAAS,aAAa,MAAuB;CAG3C,OADwB,KAAK,MAAM,aAAa,MAAM,MAAM,CAChD;AACd;;AAGA,SAAS,uBAAuB,SAAyB;CACvD,IAAI;EACF,MAAM,YAAY,aAAa,KAAK,SAAS,gBAAgB,uBAAuB,OAAO,cAAc,CAAC;EAC1G,IAAI,OAAO,cAAc,YAAY,cAAc,QAAQ,aAAa,aAAa,OAAO,UAAU,YAAY,UAChH,OAAO,UAAU;CAErB,QAAQ,CAER;CACA,OAAO;AACT;AAEA,eAAe,UAAU,SAA4C;CACnE,MAAM,WAAsB,CAAC;CAC7B,IAAI,CAAC,QAAQ,WACX,SAAS,KAAK,GAAG,mBAAmB,uBAAuB,QAAQ,OAAO,GAAG,MAAM,gBAAgB,QAAQ,QAAQ,QAAQ,SAAS,CAAC,CAAC;CAExI,SAAS,KAAK,GAAG,oBAAoB,QAAQ,OAAO,CAAC;CACrD,IAAI;EACF,MAAM,cAAc,aAAa,KAAK,QAAQ,SAAS,cAAc,CAAC;EACtE,SAAS,KAAK,GAAG,cAAc,WAAW,GAAG,GAAG,WAAW,QAAQ,SAAS,WAAW,CAAC;CAC1F,SAAS,SAAS;EAChB,SAAS,KAAK;GAAE,OAAO;GAAS,OAAO;GAAY,SAAS,gCAAgC,mBAAmB,QAAQ,QAAQ,UAAU,OAAO,OAAO;EAAI,CAAC;CAC9J;CACA,OAAO;AACT;AAEA,MAAM,UAAU,YAAY;AAC5B,MAAM,WAAW,MAAM,UAAU,OAAO;AACxC,IAAI,QAAQ,QACV,QAAQ,OAAO,MAAM,GAAG,KAAK,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC,EAAE,GAAG;KAEjE,KAAK,MAAM,WAAW,UACpB,QAAQ,OAAO,MAAM,GAAG,QAAQ,MAAM,OAAO,CAAC,EAAE,GAAG,QAAQ,MAAM,IAAI,QAAQ,QAAQ,GAAG;AAG5F,QAAQ,WAAW,SAAS,MAAM,YAAY,QAAQ,UAAU,OAAO,IAAI,IAAI"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ import { a as RoomEvents, c as RoomSelf, d as RoomStateOptions, i as RoomCreateO
|
|
|
7
7
|
import { a as RaceHistoryQuery, c as RaceRuntimeApi, i as RaceEvents, l as RaceStart, n as RaceCreateOptions, o as RaceHistoryViewOptions, r as RaceDefinition, s as RaceHudPlace, t as HubRaceApi } from "./shared/race-types.js";
|
|
8
8
|
import { f as raceForwarder } from "./shared/race.js";
|
|
9
9
|
import { n as roomsForwarder } from "./shared/rooms.js";
|
|
10
|
-
import { $ as
|
|
11
|
-
import { $ as
|
|
12
|
-
export { type Anchor, type Audience, type AuthResponse, type AutoNavigateTarget, type AutoPauseOptions, type AvatarChange, type AvatarHost, type AvatarModule, type AvatarRef, type AxisDef, type AxisSide, type Board, type BoardWithTop, type BufferedEvent, type BusyOptions, CLIENT_VERSION_HEADER, type CarriesLook, type ChatMode, type ClientSupport, ContentRejectedError, type Conversation, type Counts, DAILY_SINGLETON_API, DAILY_START_EVENT, type DailyAll, type DailyChallenge, type DailyCompleteResponse, type DailyCompletion, type DailyCompletionMeta, type DailyCompletions, type DailyDefinition, type DailyEventDetail, type DailyGameStatus, type DailyHost, type DailySaveInput, type DailyStartResponse, type DailyStatus, DailySystem, type DesignerResult, type DraggedSpot, type EdgeOffsets, type EndpointFields, type EndpointName, type EndpointReply, type ErrorBody, FOCUS_RING_SHADOW, type FriendEntry, type GameAnalytics, type GameInfo, type GameLeaderboards, type GamePayload, type GameRecords, type GamepadMapping, type GlobalAnalytics, type GrantBundle, type GroupDef, HUB_CLIENT_VERSION, Hub, HubAvatar, HubError, type HubErrorCode, type HubErrorDetails, type HubMenuControl, type HubMpApi, type HubNotifyApi, type HubOptions, type HubPresenceApi, type HubRaceApi, HubResume, type HubRoom, type HubRoomsApi, HubSaved, type HubSocialApi, type HubStatus, HubTurns, INPUT_SINGLETON_API, type InputConfig, type InputDef, type InputEvents, type InputHost, type InputModality, type InputOptions, type InputOverrides, type InputReading, type InputSource, InputSystem, type InputSystemOptions, type Insets, type Inventory, type InventorySnapshot, type Invite, type InviteCreated, type InviteLink, type InviteLinkMethods, type InviteOptions, type InviteResult, type JoinInfo, type JoinInfoEvent, type JoinOptions, type Json, type Launch, type LaunchTicket, type LayoutBox, type LayoutItem, type LayoutOptions, type LeaderboardEntry, type LeaderboardResult, MODALITY_ATTRIBUTE, type MeResponse, type MenuBridge, type Message, type MessagesPage, type Metrics, type MouseMapping, type NavBlurEvent, type NavElement, type NavElementKind, type NavFocusEvent, type NavTarget, type NavigableDef, type Notice, type NotifyChange, type NotifyPrefs, OUTBOX_FULL_CODE, OUTBOX_MAX_CHARS, OUTBOX_MAX_ENTRIES, OfflineApi, OfflineError, type OfflineEventDetails, type OfflineEventName, type OfflineHandler, type OfflineKindDefinition, type OfflineListener, type OfflineOp, type OpenDesignerOptions, type OpenInviteOptions, type OpenTurnGame, Overlay, type OverlayEdge, type OverlayEvent, type OverlayListener, type OverlayReason, type PageInputControl, type Party, type PlayOnlineMethods, type PlayerCard, type PlayerLite, type PlayerRef, type Presence, type PresenceInput, type PresenceKind, type Profile, type ProfilePatch, type ProfileSummary, type ProfileUpdate, type QueueOp, type QueueOpInput, type QueuedScoreOptions, type REALTIME_FAILED_EVENT, type REALTIME_FEATURE_VERSION, type REALTIME_READY_EVENT, type REALTIME_SINGLETON_API, RESUME_DEBOUNCE_MS, RESUME_MAX_STATE_BYTES, type RaceCreateOptions, type RaceDefinition, type RaceEvents, type RaceHistory, type RaceHistoryQuery, type RaceHistoryViewOptions, type RaceHudPlace, type RaceOutcome, type RaceParams, type RaceRecord, type RaceRecordPlayer, type RaceResult, type RaceResultPlayer, type RaceRuntimeApi, type RaceStart, type RaceStatValue, type RaceState, type RaceStats, type RaceStatusEvent, type Racer, type RacerResult, type RacerState, type RealtimeApi, type RealtimeErrorShape, type RealtimeHubLink, type RecentPlayer, type Rect, type Relation, type ReplayContext, type ReportInput, type ReportKind, type ReportReason, type ResumeBlocker, type ResumeEntry, type ResumeLoadOptions, type ResumeProgress, type ResumeRun, type ResumeSaveInput, type RoomChatLine, type RoomCreateOptions, type RoomEvents, type RoomInfo, type RoomListOptions, type RoomMessage, type RoomReclaimMethods, type RoomSeat, type RoomSeatChange, type RoomSelf, type RoomSendOptions, type RoomState, type RoomStateChange, type RoomStateOptions, type RuntimeAvatarApi, SAVED_CHANGE_EVENT, SAVED_CHANGE_QUIET_MS, SAVED_KIND_PARAM, SAVED_OPEN_EVENT, SAVED_OPEN_PARAM, SAVE_UNKNOWN_CODE, type SESSION_EVENT, type Save, type SaveMeta, type SavedChangeListener, type SavedCounts, type SavedDaily, type SavedEntry, type SavedKind, type SavedListOptions, type SavedOpenDetail, type SavedOpenHandler, type SavedOpened, type SavedProgress, type SavedStatus, type SchemaOutput, type ServerEvents, type Snapshot, type SnapshotResponse, type SocialConfig, type SocialCounts, type SocialEvents, type SocialMe, type SortDir, type StatResult, type Stats, type SubmitScoreOptions, type SubmitScoreResult, type Suggestion, type SuggestionStatus, type SyncConflict, type SyncResult, TURN_CHAT_EVENT, TURN_EVENT, TURN_LINK_PARAM, TURN_POLL_MS, TURN_RESYNC_EVENT, type TouchMapping, type TradeBundle, type TradeId, type TradeListOptions, type TradeNoteOptions, type TurnChatLine, type TurnCreateOptions, type TurnDeadline, TurnGame, type TurnGameEvents, type TurnGameView, type TurnMoveEvent, type TurnOutcome, type TurnSummary, UI_STACK_VERSION, UNSUPPORTED_BY_HUB, type UiStack, type UiStackHandoff, type User, type Vector, type VirtualControlType, type VirtualDef, type VirtualInputs, type VirtualOverride, boxesTouch, controlSize, createHub, type findRealtimeApi, getDaily, getInput, getUiStack, hub, isDailySystem, isInputSystem, isPageInputControl, type isRealtimeApi, isUiStack, layoutControls, type linkRealtimeToHub, type multiplayerForwarder as mp, type notifyForwarder as notify, parseInputOverrides, type presenceForwarder as presence, type raceForwarder as race, type roomsForwarder as rooms, savedGameUrl, type socialForwarder as social, trackInputModality };
|
|
10
|
+
import { $ as AvatarRef, A as RacerState, B as SuggestionStatus, C as RaceRecord, D as RaceStats, E as RaceState, F as ReportReason, G as REALTIME_READY_EVENT, H as isRealtimeApi, I as RoomInfo, J as SESSION_EVENT, K as REALTIME_SINGLETON_API, L as SocialConfig, M as Relation, N as ReportInput, O as Racer, P as ReportKind, Q as AvatarChange, R as SocialMe, S as RaceParams, T as RaceStatValue, U as REALTIME_FAILED_EVENT, V as findRealtimeApi, W as REALTIME_FEATURE_VERSION, X as WorldEventName, Y as RuntimeWorldApi, Z as WorldOpName, _ as PlayerLite, a as ErrorBody, at as notifyForwarder, b as PresenceKind, c as JoinInfo, ct as HubNotifyApi, d as Message, dt as OpenInviteOptions, et as DesignerResult, f as MessagesPage, ft as PlayOnlineMethods, g as PlayerCard, h as Party, ht as SocialEvents, i as Counts, it as linkRealtimeToHub, j as RecentPlayer, k as RacerResult, l as Launch, lt as HubPresenceApi, m as NotifyPrefs, mt as SocialCounts, n as ChatMode, nt as RuntimeAvatarApi, o as FriendEntry, ot as presenceForwarder, p as NotifyChange, pt as PlayerRef, q as RealtimeApi, r as Conversation, rt as RealtimeHubLink, s as Invite, st as socialForwarder, t as Audience, tt as OpenDesignerOptions, u as LaunchTicket, ut as HubSocialApi, v as Presence, w as RaceResult, x as RaceOutcome, y as PresenceInput, z as Suggestion } from "./shared/social.js";
|
|
11
|
+
import { $ as TradeListOptions, $t as AvatarModule, A as TurnGame, At as HubOptions, B as HubResume, Bt as ProfileSummary, C as TURN_LINK_PARAM, Ct as Board, D as TURN_POLL_MS, Dt as GameLeaderboards, E as TURN_EVENT, Et as GameInfo, F as HubSaved, Ft as LeaderboardEntry, G as ResumeLoadOptions, Gt as Stats, H as RESUME_MAX_STATE_BYTES, Ht as SaveMeta, I as SAVED_CHANGE_QUIET_MS, It as LeaderboardResult, J as ResumeSaveInput, Jt as User, K as ResumeProgress, Kt as SubmitScoreOptions, L as SavedChangeListener, Lt as MeResponse, M as TurnGameOptions, Mt as Inventory, N as TurnMoveEvent, Nt as InventorySnapshot, O as TURN_QUIET_MS, Ot as GameRecords, P as TurnOutcome, Pt as Json, Q as TradeId, Qt as AvatarHost, R as SavedOpenDetail, Rt as Metrics, S as HubTurns, St as BufferedEvent, T as TURN_CHAT_EVENT, Tt as GameAnalytics, U as ResumeBlocker, Ut as SnapshotResponse, V as RESUME_DEBOUNCE_MS, Vt as Save, W as ResumeEntry, Wt as SortDir, X as GrantBundle, Xt as EndpointName, Y as HubMenuControl, Yt as EndpointFields, Z as TradeBundle, Zt as EndpointReply, _ as UNSUPPORTED_BY_HUB, _t as CLIENT_VERSION_HEADER, a as HUB_CLIENT_VERSION, at as SyncResult, b as hub, bt as QueueOpInput, c as isNewlyDue, ct as OfflineEventDetails, d as ContentRejectedError, dt as OfflineOp, en as HubAvatar, et as TradeNoteOptions, f as HubError, ft as OUTBOX_MAX_CHARS, g as SAVE_UNKNOWN_CODE, gt as ReplayContext, h as OfflineError, ht as OfflineKindDefinition, i as TurnGameView, it as SyncConflict, j as TurnGameEvents, jt as HubStatus, k as TURN_RESYNC_EVENT, kt as GlobalAnalytics, l as readYourTurnBuzz, lt as OfflineEventName, m as HubErrorDetails, mt as OfflineHandler, n as TurnChatLine, nt as ProfileUpdate, o as YOUR_TURN_BUZZ, ot as OfflineApi, p as HubErrorCode, pt as OUTBOX_MAX_ENTRIES, q as ResumeRun, qt as SubmitScoreResult, r as TurnDeadline, rt as StatResult, s as YOUR_TURN_BUZZ_KEY, st as OUTBOX_FULL_CODE, t as OpenTurnGame, tn as CarriesLook, tt as AuthResponse, u as saveYourTurnBuzz, ut as OfflineListener, v as Hub, vt as ProfilePatch, w as TurnCreateOptions, wt as BoardWithTop, x as ClientSupport, xt as QueuedScoreOptions, y as createHub, yt as QueueOp, z as SavedOpenHandler, zt as Profile } from "./shared/index.js";
|
|
12
|
+
export { type Anchor, type Audience, type AuthResponse, type AutoNavigateTarget, type AutoPauseOptions, type AvatarChange, type AvatarHost, type AvatarModule, type AvatarRef, type AxisDef, type AxisSide, type Board, type BoardWithTop, type BufferedEvent, type BusyOptions, CLIENT_VERSION_HEADER, type CarriesLook, type ChatMode, type ClientSupport, ContentRejectedError, type Conversation, type Counts, DAILY_SINGLETON_API, DAILY_START_EVENT, type DailyAll, type DailyChallenge, type DailyCompleteResponse, type DailyCompletion, type DailyCompletionMeta, type DailyCompletions, type DailyDefinition, type DailyEventDetail, type DailyGameStatus, type DailyHost, type DailySaveInput, type DailyStartResponse, type DailyStatus, DailySystem, type DesignerResult, type DraggedSpot, type EdgeOffsets, type EndpointFields, type EndpointName, type EndpointReply, type ErrorBody, FOCUS_RING_SHADOW, type FriendEntry, type GameAnalytics, type GameInfo, type GameLeaderboards, type GamePayload, type GameRecords, type GamepadMapping, type GlobalAnalytics, type GrantBundle, type GroupDef, HUB_CLIENT_VERSION, Hub, HubAvatar, HubError, type HubErrorCode, type HubErrorDetails, type HubMenuControl, type HubMpApi, type HubNotifyApi, type HubOptions, type HubPresenceApi, type HubRaceApi, HubResume, type HubRoom, type HubRoomsApi, HubSaved, type HubSocialApi, type HubStatus, HubTurns, INPUT_SINGLETON_API, type InputConfig, type InputDef, type InputEvents, type InputHost, type InputModality, type InputOptions, type InputOverrides, type InputReading, type InputSource, InputSystem, type InputSystemOptions, type Insets, type Inventory, type InventorySnapshot, type Invite, type InviteCreated, type InviteLink, type InviteLinkMethods, type InviteOptions, type InviteResult, type JoinInfo, type JoinInfoEvent, type JoinOptions, type Json, type Launch, type LaunchTicket, type LayoutBox, type LayoutItem, type LayoutOptions, type LeaderboardEntry, type LeaderboardResult, MODALITY_ATTRIBUTE, type MeResponse, type MenuBridge, type Message, type MessagesPage, type Metrics, type MouseMapping, type NavBlurEvent, type NavElement, type NavElementKind, type NavFocusEvent, type NavTarget, type NavigableDef, type Notice, type NotifyChange, type NotifyPrefs, OUTBOX_FULL_CODE, OUTBOX_MAX_CHARS, OUTBOX_MAX_ENTRIES, OfflineApi, OfflineError, type OfflineEventDetails, type OfflineEventName, type OfflineHandler, type OfflineKindDefinition, type OfflineListener, type OfflineOp, type OpenDesignerOptions, type OpenInviteOptions, type OpenTurnGame, Overlay, type OverlayEdge, type OverlayEvent, type OverlayListener, type OverlayReason, type PageInputControl, type Party, type PlayOnlineMethods, type PlayerCard, type PlayerLite, type PlayerRef, type Presence, type PresenceInput, type PresenceKind, type Profile, type ProfilePatch, type ProfileSummary, type ProfileUpdate, type QueueOp, type QueueOpInput, type QueuedScoreOptions, type REALTIME_FAILED_EVENT, type REALTIME_FEATURE_VERSION, type REALTIME_READY_EVENT, type REALTIME_SINGLETON_API, RESUME_DEBOUNCE_MS, RESUME_MAX_STATE_BYTES, type RaceCreateOptions, type RaceDefinition, type RaceEvents, type RaceHistory, type RaceHistoryQuery, type RaceHistoryViewOptions, type RaceHudPlace, type RaceOutcome, type RaceParams, type RaceRecord, type RaceRecordPlayer, type RaceResult, type RaceResultPlayer, type RaceRuntimeApi, type RaceStart, type RaceStatValue, type RaceState, type RaceStats, type RaceStatusEvent, type Racer, type RacerResult, type RacerState, type RealtimeApi, type RealtimeErrorShape, type RealtimeHubLink, type RecentPlayer, type Rect, type Relation, type ReplayContext, type ReportInput, type ReportKind, type ReportReason, type ResumeBlocker, type ResumeEntry, type ResumeLoadOptions, type ResumeProgress, type ResumeRun, type ResumeSaveInput, type RoomChatLine, type RoomCreateOptions, type RoomEvents, type RoomInfo, type RoomListOptions, type RoomMessage, type RoomReclaimMethods, type RoomSeat, type RoomSeatChange, type RoomSelf, type RoomSendOptions, type RoomState, type RoomStateChange, type RoomStateOptions, type RuntimeAvatarApi, type RuntimeWorldApi, SAVED_CHANGE_EVENT, SAVED_CHANGE_QUIET_MS, SAVED_KIND_PARAM, SAVED_OPEN_EVENT, SAVED_OPEN_PARAM, SAVE_UNKNOWN_CODE, type SESSION_EVENT, type Save, type SaveMeta, type SavedChangeListener, type SavedCounts, type SavedDaily, type SavedEntry, type SavedKind, type SavedListOptions, type SavedOpenDetail, type SavedOpenHandler, type SavedOpened, type SavedProgress, type SavedStatus, type SchemaOutput, type ServerEvents, type Snapshot, type SnapshotResponse, type SocialConfig, type SocialCounts, type SocialEvents, type SocialMe, type SortDir, type StatResult, type Stats, type SubmitScoreOptions, type SubmitScoreResult, type Suggestion, type SuggestionStatus, type SyncConflict, type SyncResult, TURN_CHAT_EVENT, TURN_EVENT, TURN_LINK_PARAM, TURN_POLL_MS, TURN_QUIET_MS, TURN_RESYNC_EVENT, type TouchMapping, type TradeBundle, type TradeId, type TradeListOptions, type TradeNoteOptions, type TurnChatLine, type TurnCreateOptions, type TurnDeadline, TurnGame, type TurnGameEvents, type TurnGameOptions, type TurnGameView, type TurnMoveEvent, type TurnOutcome, type TurnSummary, UI_STACK_VERSION, UNSUPPORTED_BY_HUB, type UiStack, type UiStackHandoff, type User, type Vector, type VirtualControlType, type VirtualDef, type VirtualInputs, type VirtualOverride, type WorldEventName, type WorldOpName, YOUR_TURN_BUZZ, YOUR_TURN_BUZZ_KEY, boxesTouch, controlSize, createHub, type findRealtimeApi, getDaily, getInput, getUiStack, hub, isDailySystem, isInputSystem, isNewlyDue, isPageInputControl, type isRealtimeApi, isUiStack, layoutControls, type linkRealtimeToHub, type multiplayerForwarder as mp, type notifyForwarder as notify, parseInputOverrides, type presenceForwarder as presence, type raceForwarder as race, readYourTurnBuzz, type roomsForwarder as rooms, saveYourTurnBuzz, savedGameUrl, type socialForwarder as social, trackInputModality };
|
package/dist/index.js
CHANGED
|
@@ -2,5 +2,5 @@ import { a as DailySystem, i as DAILY_START_EVENT, n as getDaily, r as isDailySy
|
|
|
2
2
|
import { t as HUB_CLIENT_VERSION } from "./shared/client-version.gen.js";
|
|
3
3
|
import { a as isPageInputControl, c as layoutControls, d as MODALITY_ATTRIBUTE, f as trackInputModality, i as parseInputOverrides, l as boxesTouch, n as getInput, o as InputSystem, p as FOCUS_RING_SHADOW, r as isInputSystem, s as Overlay, t as INPUT_SINGLETON_API, u as controlSize } from "./shared/input.js";
|
|
4
4
|
import { n as isUiStack, r as UI_STACK_VERSION, t as getUiStack } from "./shared/page-stack.js";
|
|
5
|
-
import { A as
|
|
6
|
-
export { CLIENT_VERSION_HEADER, ContentRejectedError, DAILY_SINGLETON_API, DAILY_START_EVENT, DailySystem, FOCUS_RING_SHADOW, HUB_CLIENT_VERSION, Hub, HubAvatar, HubError, HubResume, HubSaved, HubTurns, INPUT_SINGLETON_API, InputSystem, MODALITY_ATTRIBUTE, OUTBOX_FULL_CODE, OUTBOX_MAX_CHARS, OUTBOX_MAX_ENTRIES, OfflineApi, OfflineError, Overlay, RESUME_DEBOUNCE_MS, RESUME_MAX_STATE_BYTES, SAVED_CHANGE_EVENT, SAVED_CHANGE_QUIET_MS, SAVED_KIND_PARAM, SAVED_OPEN_EVENT, SAVED_OPEN_PARAM, SAVE_UNKNOWN_CODE, TURN_CHAT_EVENT, TURN_EVENT, TURN_LINK_PARAM, TURN_POLL_MS, TURN_RESYNC_EVENT, TurnGame, UI_STACK_VERSION, UNSUPPORTED_BY_HUB, boxesTouch, controlSize, createHub, getDaily, getInput, getUiStack, hub, isDailySystem, isInputSystem, isPageInputControl, isUiStack, layoutControls, parseInputOverrides, savedGameUrl, trackInputModality };
|
|
5
|
+
import { A as OUTBOX_MAX_ENTRIES, C as savedGameUrl, D as CLIENT_VERSION_HEADER, E as RESUME_MAX_STATE_BYTES, F as SAVE_UNKNOWN_CODE, I as UNSUPPORTED_BY_HUB, L as HubAvatar, M as ContentRejectedError, N as HubError, O as OUTBOX_FULL_CODE, P as OfflineError, S as SAVED_OPEN_PARAM, T as RESUME_DEBOUNCE_MS, _ as HubSaved, a as TURN_LINK_PARAM, b as SAVED_KIND_PARAM, c as TURN_POLL_MS, d as TurnGame, f as YOUR_TURN_BUZZ, g as saveYourTurnBuzz, h as readYourTurnBuzz, i as HubTurns, j as OfflineApi, k as OUTBOX_MAX_CHARS, l as TURN_QUIET_MS, m as isNewlyDue, n as createHub, o as TURN_CHAT_EVENT, p as YOUR_TURN_BUZZ_KEY, r as hub, s as TURN_EVENT, t as Hub, u as TURN_RESYNC_EVENT, v as SAVED_CHANGE_QUIET_MS, w as HubResume, x as SAVED_OPEN_EVENT, y as SAVED_CHANGE_EVENT } from "./shared/src.js";
|
|
6
|
+
export { CLIENT_VERSION_HEADER, ContentRejectedError, DAILY_SINGLETON_API, DAILY_START_EVENT, DailySystem, FOCUS_RING_SHADOW, HUB_CLIENT_VERSION, Hub, HubAvatar, HubError, HubResume, HubSaved, HubTurns, INPUT_SINGLETON_API, InputSystem, MODALITY_ATTRIBUTE, OUTBOX_FULL_CODE, OUTBOX_MAX_CHARS, OUTBOX_MAX_ENTRIES, OfflineApi, OfflineError, Overlay, RESUME_DEBOUNCE_MS, RESUME_MAX_STATE_BYTES, SAVED_CHANGE_EVENT, SAVED_CHANGE_QUIET_MS, SAVED_KIND_PARAM, SAVED_OPEN_EVENT, SAVED_OPEN_PARAM, SAVE_UNKNOWN_CODE, TURN_CHAT_EVENT, TURN_EVENT, TURN_LINK_PARAM, TURN_POLL_MS, TURN_QUIET_MS, TURN_RESYNC_EVENT, TurnGame, UI_STACK_VERSION, UNSUPPORTED_BY_HUB, YOUR_TURN_BUZZ, YOUR_TURN_BUZZ_KEY, boxesTouch, controlSize, createHub, getDaily, getInput, getUiStack, hub, isDailySystem, isInputSystem, isNewlyDue, isPageInputControl, isUiStack, layoutControls, parseInputOverrides, readYourTurnBuzz, saveYourTurnBuzz, savedGameUrl, trackInputModality };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as Point, d as StatusProp, g as Expression, l as Pose, n as BodyPose, o as LookDir, s as LookLike, v as FaceParams } from "./types.js";
|
|
2
2
|
//#region src/avatar/animator/reactions.d.ts
|
|
3
3
|
/** A reaction name. */
|
|
4
4
|
type Reaction = 'nod' | 'shake' | 'bounce' | 'cheer' | 'gasp' | 'flinch' | 'shrug' | 'sleep' | 'wave';
|
package/dist/shared/art.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as Path, f as roundedRect, l as arc, p as scallop, u as blob } from "./svg-markup.js";
|
|
2
2
|
/** Every facial-hair part by name. */
|
|
3
3
|
const BEARD_ART = {
|
|
4
4
|
none: {},
|
package/dist/shared/atlas.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d as StatusProp, i as Figure, n as BodyPose, r as Facing, s as LookLike } from "./types.js";
|
|
2
2
|
import { t as SceneNode } from "./scene.js";
|
|
3
3
|
//#region src/avatar/outputs/canvas-paint.d.ts
|
|
4
4
|
/** A 2D context from a canvas or an `OffscreenCanvas`. */
|
|
@@ -93,6 +93,8 @@ interface AtlasOptions {
|
|
|
93
93
|
readonly scale?: number;
|
|
94
94
|
/** The light rim for dark floors (default on). */
|
|
95
95
|
readonly rim?: boolean;
|
|
96
|
+
/** The figure every frame draws (default `blob`); worlds use `walker`. */
|
|
97
|
+
readonly figure?: Figure;
|
|
96
98
|
/** Makes page canvases (tests, workers); default an `OffscreenCanvas` or DOM canvas. */
|
|
97
99
|
readonly makeCanvas?: (size: number) => {
|
|
98
100
|
readonly canvas: CanvasImageSource;
|
|
@@ -105,6 +107,8 @@ declare class AvatarAtlas {
|
|
|
105
107
|
readonly scale: number;
|
|
106
108
|
private readonly maxPages;
|
|
107
109
|
private readonly rim;
|
|
110
|
+
private readonly figure;
|
|
111
|
+
private readonly box;
|
|
108
112
|
private readonly makeCanvas;
|
|
109
113
|
private readonly pages;
|
|
110
114
|
private readonly frames;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlas.d.ts","names":[],"sources":["../../src/avatar/outputs/canvas-paint.ts","../../src/avatar/overlays.ts","../../src/avatar/atlas.ts"],"mappings":";;;;KAUY,QAAQ,2BAA2B;;KAGnC,gBAAgB,eAAe;WAA8B,QAAQ;WAA4B,KAAK;;;iBAgGlG,WAAW,KAAK,OAAO,gBAAgB,aAAa,QAAQ;;;;UCpG3D;WACN,gBAAgB;WAChB;WACA;;WAEA;;;iBAUK,QAAQ;WAAc;WAAuB;WAA2B;WAAwB;IAAoB;;KAmBxH;;iBAmBI,eAAe;WAAc;WAAuB,OAAO;WAAuB;IAAkB;;iBAmBpG,YAAY,gBAAgB;;KAgBhC;;iBAGI,eAAe,OAAO,gBAAgB;;iBAgBtC,cAAc;WAAc;WAA0B;IAA4B;;cAWrF;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","names":[],"sources":["../../src/avatar/outputs/canvas-paint.ts","../../src/avatar/overlays.ts","../../src/avatar/atlas.ts"],"mappings":";;;;KAUY,QAAQ,2BAA2B;;KAGnC,gBAAgB,eAAe;WAA8B,QAAQ;WAA4B,KAAK;;;iBAgGlG,WAAW,KAAK,OAAO,gBAAgB,aAAa,QAAQ;;;;UCpG3D;WACN,gBAAgB;WAChB;WACA;;WAEA;;;iBAUK,QAAQ;WAAc;WAAuB;WAA2B;WAAwB;IAAoB;;KAmBxH;;iBAmBI,eAAe;WAAc;WAAuB,OAAO;WAAuB;IAAkB;;iBAmBpG,YAAY,gBAAgB;;KAgBhC;;iBAGI,eAAe,OAAO,gBAAgB;;iBAgBtC,cAAc;WAAc;WAA0B;IAA4B;;cAWrF;;;;;;;;;;UC9GI;WACN,MAAM;WACN,SAAS;WACT,OAAO;;WAEP;;WAEA;WACA,SAAS;;WAET;;;UAIM;WACN;WACA,QAAQ;WACR;WACA;WACA;WACA;;WAEA;WACA;;WAEA;;;UAIM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA,SAAS;;WAET,cAAc;aAA4B,QAAQ;aAA4B,KAAK;;;;cAqBjF;WACF;WACA;mBACQ;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;mBAEA;UACT;EAEI,YAAA,OAAM;;EAWlB,MAAM,KAAK,WAAW;;UAcd;;EAWR,KAAK,mBAAc;;MAgBf;;MAKA,oBAAoB;UAIhB;UAQA;UAyCA;;;iBAuCM,YAAY,OAAM,eAAoB"}
|
package/dist/shared/avatar.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { S as mix, _ as FaceExtra, a as Frame, b as expressionFromEmote, c as Point, d as StatusProp, f as View, g as Expression, h as EXPRESSION_NAMES, i as Figure, l as Pose, m as EXPRESSIONS, n as BodyPose, o as LookDir, p as BrowParams, r as Facing, s as LookLike, t as Anchor, u as RenderOptions, v as FaceParams, x as isExpression, y as MouthParams } from "./types.js";
|
|
2
2
|
import { t as SceneNode } from "./scene.js";
|
|
3
3
|
import { a as ActivityIcon, c as overlays, i as createAtlas, l as Ctx2D, n as AtlasOptions, o as Overlay, r as AvatarAtlas, s as ReactionGlyph, t as AtlasFrame, u as paintNodes } from "./atlas.js";
|
|
4
4
|
import { a as renderSvg, c as composeAvatar, i as ready, n as describe, o as Composed, r as onArtReady, s as HEAD_Y, t as avatarEmoji } from "./describe.js";
|
|
@@ -47,7 +47,7 @@ declare function renderElement(like: LookLike, opts?: RenderOptions, doc?: Docum
|
|
|
47
47
|
* bubbles, props and world objects with these, never with magic numbers.
|
|
48
48
|
* Rig units (a 100-unit head), feet at (0, 0), y down.
|
|
49
49
|
*/
|
|
50
|
-
declare function layout(like: LookLike, opts?: Pick<RenderOptions, 'facing' | 'view' | 'pose'>): Readonly<Record<Anchor, Point>>;
|
|
50
|
+
declare function layout(like: LookLike, opts?: Pick<RenderOptions, 'facing' | 'view' | 'pose' | 'figure'>): Readonly<Record<Anchor, Point>>;
|
|
51
51
|
/** The facing for a movement vector (screen space, y down), in 8 or 4 directions. */
|
|
52
52
|
declare function facingFrom(dx: number, dy: number, dirs?: 4 | 8): Facing;
|
|
53
53
|
/**
|
|
@@ -80,6 +80,12 @@ declare const catalog: {
|
|
|
80
80
|
revision: number;
|
|
81
81
|
};
|
|
82
82
|
//#endregion
|
|
83
|
+
//#region src/avatar/render/walker.d.ts
|
|
84
|
+
/** The head's scale on a walker (the blob draws it at 1). */
|
|
85
|
+
declare const WALKER_HEAD_SCALE = 0.58;
|
|
86
|
+
/** How far below the seat a sitter's feet reach (rig units). */
|
|
87
|
+
declare const WALKER_SEAT_DROP = 26;
|
|
88
|
+
//#endregion
|
|
83
89
|
//#region src/avatar/outputs/svg-markup.d.ts
|
|
84
90
|
/** A scene as SVG markup plus the `<defs>` it needs. */
|
|
85
91
|
declare function sceneToSvg(nodes: readonly SceneNode[], prefix: string): {
|
|
@@ -101,7 +107,7 @@ declare function deltaE(a: string, b: string): number;
|
|
|
101
107
|
/** WCAG contrast ratio between two colours. */
|
|
102
108
|
declare function contrast(a: string, b: string): number;
|
|
103
109
|
declare namespace avatar_d_exports {
|
|
104
|
-
export { ACCESSORY_SLOTS, AccessorySlot, ActivityIcon, Anchor, Animator, AnimatorOptions, At, AtlasFrame, AtlasOptions, AvatarAtlas, AvatarElement, AvatarLook$1 as AvatarLook, BodyPose, BrowParams, CATALOG, CATALOG_REVISION$1 as CATALOG_REVISION, CanvasPlacement, CatalogEntry$1 as CatalogEntry, Composed, Ctx2D, DEFAULT_GEN, DecodedLook, EXPRESSIONS, EXPRESSION_NAMES, Expression, FRAME_PRESETS, FaceExtra, FaceParams, Facing, Feeling, Frame, HEAD_Y, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookDir, LookLike, LookPart, LookProblem, MouthParams, Overlay, PALETTES$1 as PALETTES, PaletteName, PartCategory$1 as PartCategory, Point, Pose, Preset, REACTIONS, RandomLookOptions, Reaction, ReactionGlyph, RenderOptions, Rng, SECOND_COLOUR_CODE, SceneNode, StatusProp, View, animator, avatarEmoji, canonicalLook, catalog, composeAvatar, contrast, createAtlas, decodeLook$1 as decodeLook, defaultLook$1 as defaultLook, defineAvatarElement, deltaE, describe, distinctLooks, encodeLook$1 as encodeLook, expressionFromEmote, facingFrom, isExpression, isLookCode$1 as isLookCode, isTinted, isValidLook, layout, lightness, lookProblem, lookToward, mix, normaliseHex$1 as normaliseHex, onArtReady, overlaySvg, overlays, paintNodes, paintOverlay, partById, partName$1 as partName, partsOf$1 as partsOf, randomLook, ready, render, resolveColour$1 as resolveColour, sameLook, sceneToSvg, seededRng, toCode, toLook };
|
|
110
|
+
export { ACCESSORY_SLOTS, AccessorySlot, ActivityIcon, Anchor, Animator, AnimatorOptions, At, AtlasFrame, AtlasOptions, AvatarAtlas, AvatarElement, AvatarLook$1 as AvatarLook, BodyPose, BrowParams, CATALOG, CATALOG_REVISION$1 as CATALOG_REVISION, CanvasPlacement, CatalogEntry$1 as CatalogEntry, Composed, Ctx2D, DEFAULT_GEN, DecodedLook, EXPRESSIONS, EXPRESSION_NAMES, Expression, FRAME_PRESETS, FaceExtra, FaceParams, Facing, Feeling, Figure, Frame, HEAD_Y, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookDir, LookLike, LookPart, LookProblem, MouthParams, Overlay, PALETTES$1 as PALETTES, PaletteName, PartCategory$1 as PartCategory, Point, Pose, Preset, REACTIONS, RandomLookOptions, Reaction, ReactionGlyph, RenderOptions, Rng, SECOND_COLOUR_CODE, SceneNode, StatusProp, View, WALKER_HEAD_SCALE, WALKER_SEAT_DROP, animator, avatarEmoji, canonicalLook, catalog, composeAvatar, contrast, createAtlas, decodeLook$1 as decodeLook, defaultLook$1 as defaultLook, defineAvatarElement, deltaE, describe, distinctLooks, encodeLook$1 as encodeLook, expressionFromEmote, facingFrom, isExpression, isLookCode$1 as isLookCode, isTinted, isValidLook, layout, lightness, lookProblem, lookToward, mix, normaliseHex$1 as normaliseHex, onArtReady, overlaySvg, overlays, paintNodes, paintOverlay, partById, partName$1 as partName, partsOf$1 as partsOf, randomLook, ready, render, resolveColour$1 as resolveColour, sameLook, sceneToSvg, seededRng, toCode, toLook };
|
|
105
111
|
}
|
|
106
112
|
/** Every output: SVG markup, a live element, Canvas 2D, a bitmap or a data URL. */
|
|
107
113
|
declare const render: {
|
|
@@ -113,5 +119,5 @@ declare const render: {
|
|
|
113
119
|
dataUrl: typeof renderDataUrl;
|
|
114
120
|
};
|
|
115
121
|
//#endregion
|
|
116
|
-
export {
|
|
122
|
+
export { facingFrom as $, isValidLook as A, seededRng as B, canonicalLook as C, encodeLook$1 as D, distinctLooks as E, partsOf$1 as F, toLook as G, deltaE as H, randomLook as I, WALKER_SEAT_DROP as J, sceneToSvg as K, render as L, normaliseHex$1 as M, partById as N, isLookCode$1 as O, partName$1 as P, defineAvatarElement as Q, resolveColour$1 as R, avatar_d_exports as S, defaultLook$1 as T, lightness as U, contrast as V, toCode as W, overlaySvg as X, catalog as Y, paintOverlay as Z, PartCategory$1 as _, CATALOG_REVISION$1 as a, Rng as b, DecodedLook as c, LookAccessory as d, layout as et, LookColour as f, PaletteName as g, PALETTES$1 as h, CATALOG as i, lookProblem as j, isTinted as k, FRAME_PRESETS as l, LookProblem as m, AccessorySlot as n, AvatarElement as nt, CatalogEntry$1 as o, LookPart as p, WALKER_HEAD_SCALE as q, AvatarLook$1 as r, CanvasPlacement as rt, DEFAULT_GEN as s, ACCESSORY_SLOTS as t, lookToward as tt, LOOK_CODE_PREFIX as u, Preset as v, decodeLook$1 as w, SECOND_COLOUR_CODE as x, RandomLookOptions as y, sameLook as z };
|
|
117
123
|
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","names":[],"sources":["../../src/avatar/outputs/bitmap.ts","../../src/avatar/outputs/canvas.ts","../../src/avatar/outputs/element.ts","../../src/avatar/layout.ts","../../src/avatar/outputs/custom-element.ts","../../src/avatar/outputs/overlay-svg.ts","../../src/avatar/catalog-view.ts","../../src/avatar/outputs/svg-markup.ts","../../src/avatar/look-like.ts","../../src/avatar/colour.ts","../../src/avatar.ts"],"mappings":";;;;;;;;;iBAsDgB,aAAa,MAAM,UAAU,OAAM,gBAAqB,QAAQ;;iBAK1D,cAAc,MAAM,UAAU,OAAM,eAAoB,uBAA8B;;;;UC5B3F,wBAAwB;WAC9B;WACA;;;iBAgBK,aAAa,KAAK,OAAO,MAAM,UAAU,MAAM;;iBAM/C,eAAe,KAAK,OAAO,MAAM,UAAU,MAAM;WAA2B;WAAoB;WAAoB;;;;;UC3CnH;;WAEN,IAAI;;EAEb,OAAO,MAAM;;EAEb,QAAQ,MAAM;;EAEd,WAAW,MAAM;;;iBAIH,cAAc,MAAM,UAAU,OAAM,eAAoB,MAAK,WAAsB;;;;;;;;iBCdnF,OAAO,MAAM,UAAU,OAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","names":[],"sources":["../../src/avatar/outputs/bitmap.ts","../../src/avatar/outputs/canvas.ts","../../src/avatar/outputs/element.ts","../../src/avatar/layout.ts","../../src/avatar/outputs/custom-element.ts","../../src/avatar/outputs/overlay-svg.ts","../../src/avatar/catalog-view.ts","../../src/avatar/render/walker.ts","../../src/avatar/outputs/svg-markup.ts","../../src/avatar/look-like.ts","../../src/avatar/colour.ts","../../src/avatar.ts"],"mappings":";;;;;;;;;iBAsDgB,aAAa,MAAM,UAAU,OAAM,gBAAqB,QAAQ;;iBAK1D,cAAc,MAAM,UAAU,OAAM,eAAoB,uBAA8B;;;;UC5B3F,wBAAwB;WAC9B;WACA;;;iBAgBK,aAAa,KAAK,OAAO,MAAM,UAAU,MAAM;;iBAM/C,eAAe,KAAK,OAAO,MAAM,UAAU,MAAM;WAA2B;WAAoB;WAAoB;;;;;UC3CnH;;WAEN,IAAI;;EAEb,OAAO,MAAM;;EAEb,QAAQ,MAAM;;EAEd,WAAW,MAAM;;;iBAIH,cAAc,MAAM,UAAU,OAAM,eAAoB,MAAK,WAAsB;;;;;;;;iBCdnF,OAAO,MAAM,UAAU,OAAM,KAAK,wDAA6D,SAAS,OAAO,QAAQ;;iBAQvH,WAAW,YAAY,YAAY,eAAkB;;;;;iBAerD,WAAW,MAAM,OAAO,IAAI,OAAO,oBAAe;;;;;;;iBCKlD,oBAAoB;;;;iBC9BpB,WAAW,SAAS,SAAS;;iBAO7B,aAAa,KAAK,OAAO,SAAS,SAAS,aAAa,aAAa;;;;cCXxE;;EAEK,MAAA,UAAA,wBAAwB;;;;;;;;;cCa7B;;cAGA;;;;iBCmFG,WAAW,gBAAgB,aAAa;WAA4B;WAAuB;;;;;iBChF3F,OAAO,MAAM,WAAW;;iBAiBxB,OAAO,MAAM;;;;cCmChB,YAAa;;iBAGV,OAAO,WAAW;;iBAwBlB,SAAS,WAAW;;;;;cCjDvB"}
|
package/dist/shared/bridge.js
CHANGED
|
@@ -49,10 +49,10 @@ function hubLink() {
|
|
|
49
49
|
/**
|
|
50
50
|
* The realtime feature version the runtime reports in {@link RealtimeApi.version}.
|
|
51
51
|
* 2 added races; 3 added invite links and taking back a held seat; 4 added
|
|
52
|
-
* "Play online" (tournaments); 5 added avatars (the designer and `ev:avatar`).
|
|
52
|
+
* "Play online" (tournaments); 5 added avatars (the designer and `ev:avatar`); 6 added the world (`world`).
|
|
53
53
|
* A client feature-detects newer additions with it (or by the optional method).
|
|
54
54
|
*/
|
|
55
|
-
const REALTIME_FEATURE_VERSION =
|
|
55
|
+
const REALTIME_FEATURE_VERSION = 6;
|
|
56
56
|
/**
|
|
57
57
|
* The cross-bundle shape number of the `rt` page singleton (plan §4.4). The
|
|
58
58
|
* runtime registers with it through `claimSingleton`; bump it only when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":";;;;;;;;;;;AAuBA,SAAS,iBAAiB,OAAoC;CAC5D,IAAI,iBAAiB,OACnB,OAAO;CAET,MAAM,UAAU,UAAU,OAAO,SAAS;CAC1C,MAAM,OAA2B,IAAI,MAAM,OAAO,YAAY,WAAW,UAAU,OAAO,KAAK,CAAC;CAChG,KAAK,MAAM,OAAO,CAAC,UAAU,cAAc,GAAY;EACrD,MAAM,QAAQ,UAAU,OAAO,GAAG;EAClC,IAAI,OAAO,UAAU,UACnB,KAAK,OAAO;CAEhB;CACA,KAAK,MAAM,OAAO;EAAC;EAAQ;EAAU;CAAM,GAAY;EACrD,MAAM,QAAQ,UAAU,OAAO,GAAG;EAClC,IAAI,OAAO,UAAU,UACnB,KAAK,OAAO;CAEhB;CACA,OAAO;AACT;AAYA,IAAI,cAA+B;CATjC,YAAY;CACZ,mBAAmB,SAAS;EAC1B,MAAM,UAA8B,IAAI,MAAM,OAAO;EACrD,QAAQ,OAAO;EACf,OAAO;CACT;CACA,2BAA2B,QAAQ,uBAAO,IAAI,MAAM,qEAAqE,CAAC;AAG5E;;AAGhD,SAAgB,kBAAkB,MAA6B;CAC7D,cAAc;AAChB;;AAGA,SAAgB,UAA2B;CACzC,OAAO;AACT;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/core/version/client-version.gen.ts
|
|
2
2
|
/** This client's package version, sent as `x-hub-client` on REST calls and `client` in `hello`. */
|
|
3
|
-
const HUB_CLIENT_VERSION = "2.0.0-next.
|
|
3
|
+
const HUB_CLIENT_VERSION = "2.0.0-next.9";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { HUB_CLIENT_VERSION as t };
|
|
6
6
|
|
package/dist/shared/daily.js
CHANGED
|
@@ -291,7 +291,7 @@ let claimedDaily = null;
|
|
|
291
291
|
function getDaily(host) {
|
|
292
292
|
claimedDaily ?? (claimedDaily = claimSingleton({
|
|
293
293
|
name: "daily",
|
|
294
|
-
version: "2.0.0-next.
|
|
294
|
+
version: "2.0.0-next.9",
|
|
295
295
|
api: 2,
|
|
296
296
|
create: () => new DailySystem(host),
|
|
297
297
|
isInstance: isDailySystem
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as Point, s as LookLike, t as Anchor, u as RenderOptions } from "./types.js";
|
|
2
2
|
import { t as SceneNode } from "./scene.js";
|
|
3
3
|
import { AvatarLook } from "@diffenderfer-games/hub-contract/avatar";
|
|
4
4
|
//#region src/avatar/render/compose.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","names":[],"sources":["../../src/avatar/render/compose.ts","../../src/avatar/outputs/svg.ts","../../src/avatar/art-store.ts","../../src/avatar/describe.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"describe.d.ts","names":[],"sources":["../../src/avatar/render/compose.ts","../../src/avatar/outputs/svg.ts","../../src/avatar/art-store.ts","../../src/avatar/describe.ts"],"mappings":";;;;;cA4Ba;;UASI;WACN,gBAAgB;WAChB,SAAS,SAAS,OAAO,QAAQ;;;iBAiO5B,cAAc,MAAM,mBAAmB,OAAM,gBAAqB;;;;iBCnOlE,UAAU,MAAM,UAAU,OAAM;;;;iBCpBhC,SAAS;;iBAYT,WAAW;;;;iBC+BX,SAAS,MAAM;;iBASf,YAAY,MAAM"}
|
package/dist/shared/describe.js
CHANGED
package/dist/shared/index.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { O as InputSystem, n as getUiStack } from "./input.js";
|
|
|
4
4
|
import { o as multiplayerForwarder } from "./mp.js";
|
|
5
5
|
import { f as raceForwarder } from "./race.js";
|
|
6
6
|
import { n as roomsForwarder } from "./rooms.js";
|
|
7
|
-
import {
|
|
7
|
+
import { $ as AvatarRef, Q as AvatarChange, at as notifyForwarder, et as DesignerResult, ot as presenceForwarder, st as socialForwarder, tt as OpenDesignerOptions } from "./social.js";
|
|
8
8
|
import { AvatarLook } from "@diffenderfer-games/hub-contract/avatar";
|
|
9
|
-
import { Board, Board as Board$1, CreateTurnGame, ErrorCode, GameInfo, GameLeaderboards, GameRecords, HubVersion, Inventory, Inventory as Inventory$1, Json, Json as Json$1, LeaderboardEntry, Metrics, Metrics as Metrics$1, MyAvatar, OpenTurnGame, OpenTurnGame as OpenTurnGame$1, PublicEndpoints, RejectReason, ResumeSlot, ResumeSummary, SavedCounts, SessionUser, SortDir, SortDir as SortDir$1, Stats, Stats as Stats$1, TurnChatLine, TurnChatLine as TurnChatLine$1, TurnDeadline, TurnDeadline as TurnDeadline$1, TurnGameView, TurnGameView as TurnGameView$1, TurnSummary } from "@diffenderfer-games/hub-contract";
|
|
9
|
+
import { Board, Board as Board$1, CreateTurnGame, ErrorCode, GameInfo, GameLeaderboards, GameRecords, HubVersion, Inventory, Inventory as Inventory$1, Json, Json as Json$1, LeaderboardEntry, Metrics, Metrics as Metrics$1, MyAvatar, OpenTurnGame, OpenTurnGame as OpenTurnGame$1, PublicEndpoints, RejectReason, ResumeSlot, ResumeSummary, SavedCounts, SessionUser, SortDir, SortDir as SortDir$1, Stats, Stats as Stats$1, TurnChatLine, TurnChatLine as TurnChatLine$1, TurnDeadline, TurnDeadline as TurnDeadline$1, TurnGameView, TurnGameView as TurnGameView$1, TurnSummary, TurnTournament } from "@diffenderfer-games/hub-contract";
|
|
10
10
|
import { CallReturn, ClientData } from "@ayepi/core/client";
|
|
11
11
|
//#region src/core/page-account.d.ts
|
|
12
12
|
/** The signed-in player as the page heard it. */
|
|
@@ -1334,6 +1334,8 @@ declare const TURN_RESYNC_EVENT = "hub:turn-resync";
|
|
|
1334
1334
|
declare const TURN_CHAT_EVENT = "hub:turn-chat";
|
|
1335
1335
|
/** How often a page without the live runtime looks for moves, ms. */
|
|
1336
1336
|
declare const TURN_POLL_MS = 20000;
|
|
1337
|
+
/** How long a visible page waiting on another player's move may hear nothing before it fetches the game again, ms. */
|
|
1338
|
+
declare const TURN_QUIET_MS = 15000;
|
|
1337
1339
|
/** A game's end: the winning seats, and optionally places and scores by seat. */
|
|
1338
1340
|
type TurnOutcome = NonNullable<TurnGameView['outcome']>;
|
|
1339
1341
|
/** One move as this seat saw it. */
|
|
@@ -1388,6 +1390,11 @@ interface TurnGameHost {
|
|
|
1388
1390
|
isLive(): boolean;
|
|
1389
1391
|
}
|
|
1390
1392
|
type Listener<Payload> = (payload: Payload) => void;
|
|
1393
|
+
/** How `hub.turns` sets a game up. */
|
|
1394
|
+
interface TurnGameOptions {
|
|
1395
|
+
/** Whether this page wants the "your turn" buzz (`hub.turns.setYourTurnBuzz`); read at each buzz. Default on. */
|
|
1396
|
+
readonly isBuzzOn?: () => boolean;
|
|
1397
|
+
}
|
|
1391
1398
|
/** One online game. `View`, `Move` and `Ev` (its events) are the game's own JSON types from its rules. */
|
|
1392
1399
|
declare class TurnGame<View = GamePayload, Move extends GamePayload = GamePayload, Ev = GamePayload> {
|
|
1393
1400
|
readonly id: string;
|
|
@@ -1399,7 +1406,12 @@ declare class TurnGame<View = GamePayload, Move extends GamePayload = GamePayloa
|
|
|
1399
1406
|
private catchingUp;
|
|
1400
1407
|
/** The move count this page's own move in flight will make (its live echo is not another player's move). */
|
|
1401
1408
|
private ownSeq;
|
|
1402
|
-
|
|
1409
|
+
/** When the page last heard from the hub about this game (a live event or an answer), epoch ms. */
|
|
1410
|
+
private heardAt;
|
|
1411
|
+
private readonly options;
|
|
1412
|
+
/** This game's own "your turn" buzz switch (`setYourTurnBuzz`). */
|
|
1413
|
+
private isBuzzOn;
|
|
1414
|
+
constructor(host: TurnGameHost, initial: TurnGameView, options?: TurnGameOptions);
|
|
1403
1415
|
/** Whose move it is, the seats and the deadline. */
|
|
1404
1416
|
get summary(): TurnSummary;
|
|
1405
1417
|
/** This seat's view, from the game's rules (`null` before the game starts). */
|
|
@@ -1414,12 +1426,29 @@ declare class TurnGame<View = GamePayload, Move extends GamePayload = GamePayloa
|
|
|
1414
1426
|
get chatMode(): TurnGameView['chatMode'];
|
|
1415
1427
|
/** The link others can take a seat with (the creator's, while seats are open), else `null`. */
|
|
1416
1428
|
get link(): string | null;
|
|
1429
|
+
/** Whether this player may move now without it being their turn (the rules' `mayAct`: a jump-in, calling or catching "UNO"): offer that action. */
|
|
1430
|
+
get mayActNow(): boolean;
|
|
1431
|
+
/** The tournament match this game is, or `null` (show it if you like: "Saturday Cup: your match"). */
|
|
1432
|
+
get tournament(): TurnTournament | null;
|
|
1433
|
+
/**
|
|
1434
|
+
* The "your turn" buzz for this game: a short vibration when this player
|
|
1435
|
+
* becomes due on a live update while the page is visible (never for the
|
|
1436
|
+
* next step of their own turn, a move out of turn, a game just opened or a
|
|
1437
|
+
* catch-up; never when the player turned it off or asks for less motion;
|
|
1438
|
+
* silently nothing where the device can't vibrate). On by default.
|
|
1439
|
+
*/
|
|
1440
|
+
setYourTurnBuzz(isOn: boolean): void;
|
|
1417
1441
|
/** Creator: start the game (empty seats go to the computer when the game allows). */
|
|
1418
1442
|
start(): Promise<void>;
|
|
1419
1443
|
/**
|
|
1420
|
-
* Make a move
|
|
1421
|
-
*
|
|
1422
|
-
*
|
|
1444
|
+
* Make a move: when it is your turn (`summary.isMyTurn`), or out of turn
|
|
1445
|
+
* when the rules allow it (`mayActNow`). Rejects with a `HubError`: 403
|
|
1446
|
+
* `not_your_turn`, 409 `stale` (the game moved on, or another player's
|
|
1447
|
+
* move got there first: the view is refreshed first), 422 `illegal` with
|
|
1448
|
+
* the rules' own code in `rule`, 500 `rules_error` or 503 `rules_busy`
|
|
1449
|
+
* (the move was not made; the game is fetched again). The answer's `view` is the newest this
|
|
1450
|
+
* page has: moves that arrived live while the answer was on its way (the
|
|
1451
|
+
* computer's, another player's) are never rolled back.
|
|
1423
1452
|
*/
|
|
1424
1453
|
move(move: Move): Promise<{
|
|
1425
1454
|
seq: number;
|
|
@@ -1447,22 +1476,47 @@ declare class TurnGame<View = GamePayload, Move extends GamePayload = GamePayloa
|
|
|
1447
1476
|
}): Promise<void>;
|
|
1448
1477
|
/** Invite friends to free seats (before the start). */
|
|
1449
1478
|
invite(userIds: readonly number[]): Promise<void>;
|
|
1450
|
-
/**
|
|
1479
|
+
/**
|
|
1480
|
+
* Whether "Let the computer play for <name>" may work now: another
|
|
1481
|
+
* player is due, the hub's hand-over wait (`summary.handOverAt`) has
|
|
1482
|
+
* passed and a due player isn't connected (`TurnSeat.connected` false
|
|
1483
|
+
* or unknown), or the turn's `deadline` passed. `false` in a
|
|
1484
|
+
* tournament match, and from a hub too old to say. Re-check it on each
|
|
1485
|
+
* `turn` event (a player coming or going fires one) and when
|
|
1486
|
+
* `handOverAt` comes.
|
|
1487
|
+
*/
|
|
1488
|
+
canLetComputerPlay(now?: number): boolean;
|
|
1489
|
+
/**
|
|
1490
|
+
* Let the computer play for whoever is due: a turn whose deadline passed
|
|
1491
|
+
* (or whose player is suspended) is played once; otherwise, when that
|
|
1492
|
+
* player has been due a while (2 minutes) and isn't connected at all, the
|
|
1493
|
+
* computer plays their seat for the rest of the game (it shows as `bot`,
|
|
1494
|
+
* named with who chose it) until they open the game again. Rejects with
|
|
1495
|
+
* 409 `deadline_not_passed` when neither (it never says whether they are
|
|
1496
|
+
* online), and 409 `not_supported` in a tournament match.
|
|
1497
|
+
*/
|
|
1451
1498
|
letComputerPlay(): Promise<void>;
|
|
1452
1499
|
/** Say something: `{ text }` between friends (moderated), `{ quick }` (a quick-chat phrase id) with anyone. */
|
|
1453
1500
|
say(send: {
|
|
1454
1501
|
readonly text?: string;
|
|
1455
1502
|
readonly quick?: string;
|
|
1456
1503
|
}): Promise<TurnChatLine>;
|
|
1457
|
-
/**
|
|
1504
|
+
/**
|
|
1505
|
+
* Fetch the game again, and replay moves missed since the last one this
|
|
1506
|
+
* page saw. An answer older than what the page has by then (live moves
|
|
1507
|
+
* arrived while it was on its way) is dropped, never rolled back to, and
|
|
1508
|
+
* a move that arrived live is never replayed twice.
|
|
1509
|
+
*/
|
|
1458
1510
|
refresh(): Promise<void>;
|
|
1459
1511
|
/** Hear moves, turn changes, the end and chat; returns a function that stops listening. */
|
|
1460
1512
|
on<K extends keyof TurnGameEvents<View, Ev>>(eventName: K, listener: Listener<TurnGameEvents<View, Ev>[K]>): () => void;
|
|
1461
1513
|
/** Stop live updates for this page (the game itself goes on). */
|
|
1462
1514
|
close(): void;
|
|
1463
|
-
/** Take a fresh answer from the hub; fire `turn` and `ended` when they changed. */
|
|
1515
|
+
/** Take a fresh answer from the hub (one older than what the page has is dropped: no rollback); fire `turn` and `ended` when they changed. */
|
|
1464
1516
|
private update;
|
|
1465
1517
|
private emit;
|
|
1518
|
+
/** Whether it is another player's move now (the page is waiting on someone). */
|
|
1519
|
+
private isWaitingOnOthers;
|
|
1466
1520
|
/** A live `hub:turn` for this game: a move (or a missed run of them), or another change. */
|
|
1467
1521
|
private onLive;
|
|
1468
1522
|
/** Replay what was missed (one catch-up at a time). */
|
|
@@ -1505,7 +1559,18 @@ interface TurnsHost extends TurnGameHost {
|
|
|
1505
1559
|
/** `hub.turns`. */
|
|
1506
1560
|
declare class HubTurns {
|
|
1507
1561
|
private readonly host;
|
|
1562
|
+
private isBuzzOn;
|
|
1563
|
+
private readonly gameOptions;
|
|
1508
1564
|
constructor(host: TurnsHost);
|
|
1565
|
+
/**
|
|
1566
|
+
* This page's "your turn" buzz (a short vibration when the player becomes
|
|
1567
|
+
* due in an open game, see `TurnGame.setYourTurnBuzz`): pass `false` if
|
|
1568
|
+
* your game gives its own signal. On by default.
|
|
1569
|
+
*/
|
|
1570
|
+
setYourTurnBuzz(isOn: boolean): void;
|
|
1571
|
+
/** The player's own "Buzz when it's my turn" switch on this device (the menu's Settings show it too). */
|
|
1572
|
+
get playerYourTurnBuzz(): boolean;
|
|
1573
|
+
set playerYourTurnBuzz(isOn: boolean);
|
|
1509
1574
|
/** The invite link key this page was opened with (`?hub_turn_link=`), taken out of the address bar; `null` when none. Synchronous. */
|
|
1510
1575
|
get link(): string | null;
|
|
1511
1576
|
/** Make a game in this page's game (its lobby): the player takes the first seat. */
|
|
@@ -1697,9 +1762,21 @@ declare class ContentRejectedError extends HubError {
|
|
|
1697
1762
|
constructor(message: string, status: number | undefined, details: HubErrorDetails);
|
|
1698
1763
|
}
|
|
1699
1764
|
//#endregion
|
|
1765
|
+
//#region src/core/turns/your-turn-buzz.d.ts
|
|
1766
|
+
/** The pattern: two short pulses, ms. */
|
|
1767
|
+
declare const YOUR_TURN_BUZZ: readonly number[];
|
|
1768
|
+
/** Where this device keeps the player's choice (`off` turns it off). */
|
|
1769
|
+
declare const YOUR_TURN_BUZZ_KEY = "dg:your-turn-buzz";
|
|
1770
|
+
/** Whether going from `previous` to `next` makes this player newly due (the moment to buzz). */
|
|
1771
|
+
declare function isNewlyDue(previous: Pick<TurnSummary, 'phase' | 'isMyTurn'>, next: Pick<TurnSummary, 'phase' | 'isMyTurn' | 'isMuted'>): boolean;
|
|
1772
|
+
/** The player's own switch on this device (on unless they turned it off). */
|
|
1773
|
+
declare function readYourTurnBuzz(): boolean;
|
|
1774
|
+
/** Save the player's switch on this device. */
|
|
1775
|
+
declare function saveYourTurnBuzz(isOn: boolean): void;
|
|
1776
|
+
//#endregion
|
|
1700
1777
|
//#region src/core/version/client-version.gen.d.ts
|
|
1701
1778
|
/** This client's package version, sent as `x-hub-client` on REST calls and `client` in `hello`. */
|
|
1702
|
-
declare const HUB_CLIENT_VERSION = "2.0.0-next.
|
|
1779
|
+
declare const HUB_CLIENT_VERSION = "2.0.0-next.9";
|
|
1703
1780
|
//#endregion
|
|
1704
|
-
export {
|
|
1781
|
+
export { TradeListOptions as $, AvatarModule as $t, TurnGame as A, HubOptions as At, HubResume as B, ProfileSummary as Bt, TURN_LINK_PARAM as C, Board$1 as Ct, TURN_POLL_MS as D, GameLeaderboards as Dt, TURN_EVENT as E, GameInfo$1 as Et, HubSaved as F, LeaderboardEntry as Ft, ResumeLoadOptions as G, Stats$1 as Gt, RESUME_MAX_STATE_BYTES as H, SaveMeta as Ht, SAVED_CHANGE_QUIET_MS as I, LeaderboardResult as It, ResumeSaveInput as J, User as Jt, ResumeProgress as K, SubmitScoreOptions as Kt, SavedChangeListener as L, MeResponse as Lt, TurnGameOptions as M, Inventory$1 as Mt, TurnMoveEvent as N, InventorySnapshot as Nt, TURN_QUIET_MS as O, GameRecords as Ot, TurnOutcome as P, Json$1 as Pt, TradeId as Q, AvatarHost as Qt, SavedOpenDetail as R, Metrics$1 as Rt, HubTurns as S, BufferedEvent as St, TURN_CHAT_EVENT as T, GameAnalytics as Tt, ResumeBlocker as U, SnapshotResponse as Ut, RESUME_DEBOUNCE_MS as V, Save as Vt, ResumeEntry as W, SortDir$1 as Wt, GrantBundle as X, EndpointName as Xt, HubMenuControl as Y, EndpointFields as Yt, TradeBundle as Z, EndpointReply as Zt, UNSUPPORTED_BY_HUB as _, CLIENT_VERSION_HEADER as _t, HUB_CLIENT_VERSION as a, SyncResult as at, hub as b, QueueOpInput as bt, isNewlyDue as c, OfflineEventDetails as ct, ContentRejectedError as d, OfflineOp as dt, HubAvatar as en, TradeNoteOptions as et, HubError as f, OUTBOX_MAX_CHARS as ft, SAVE_UNKNOWN_CODE as g, ReplayContext as gt, OfflineError as h, OfflineKindDefinition as ht, TurnGameView$1 as i, SyncConflict as it, TurnGameEvents as j, HubStatus as jt, TURN_RESYNC_EVENT as k, GlobalAnalytics as kt, readYourTurnBuzz as l, OfflineEventName as lt, HubErrorDetails as m, OfflineHandler as mt, TurnChatLine$1 as n, ProfileUpdate as nt, YOUR_TURN_BUZZ as o, OfflineApi as ot, HubErrorCode as p, OUTBOX_MAX_ENTRIES as pt, ResumeRun as q, SubmitScoreResult as qt, TurnDeadline$1 as r, StatResult as rt, YOUR_TURN_BUZZ_KEY as s, OUTBOX_FULL_CODE as st, OpenTurnGame$1 as t, CarriesLook as tn, AuthResponse as tt, saveYourTurnBuzz as u, OfflineListener as ut, Hub as v, ProfilePatch as vt, TurnCreateOptions as w, BoardWithTop as wt, ClientSupport as x, QueuedScoreOptions as xt, createHub as y, QueueOp as yt, SavedOpenHandler as z, Profile as zt };
|
|
1705
1782
|
//# sourceMappingURL=index.d.ts.map
|