@diffenderfer-games/hub 2.0.0-next.5 → 2.0.0-next.6
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 +54 -19
- package/README.md +3 -6
- package/dist/auto.d.ts +5 -5
- package/dist/auto.js +2 -2
- package/dist/avatar-pixi.d.ts +147 -0
- package/dist/avatar-pixi.d.ts.map +1 -0
- package/dist/avatar-pixi.js +280 -0
- package/dist/avatar-pixi.js.map +1 -0
- package/dist/avatar-svg.d.ts +4 -0
- package/dist/avatar-svg.js +5 -0
- package/dist/avatar-three.d.ts +69 -0
- package/dist/avatar-three.d.ts.map +1 -0
- package/dist/avatar-three.js +49 -0
- package/dist/avatar-three.js.map +1 -0
- package/dist/avatar.d.ts +7 -0
- package/dist/avatar.js +487 -0
- package/dist/avatar.js.map +1 -0
- package/dist/daily.d.ts +2 -2
- package/dist/doctor/cli.mjs +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/input.d.ts +2 -2
- package/dist/shared/animator.d.ts +104 -0
- package/dist/shared/animator.d.ts.map +1 -0
- package/dist/shared/art.js +1804 -0
- package/dist/shared/art.js.map +1 -0
- package/dist/shared/atlas.d.ts +134 -0
- package/dist/shared/atlas.d.ts.map +1 -0
- package/dist/shared/avatar.d.ts +117 -0
- package/dist/shared/avatar.d.ts.map +1 -0
- package/dist/shared/bridge.js +13 -5
- package/dist/shared/bridge.js.map +1 -1
- package/dist/shared/client-version.gen.js +1 -1
- package/dist/shared/daily.d.ts +129 -18
- package/dist/shared/daily.d.ts.map +1 -1
- package/dist/shared/daily.js +120 -26
- package/dist/shared/daily.js.map +1 -1
- package/dist/shared/defineProperty.js +39 -0
- package/dist/shared/describe.d.ts +32 -0
- package/dist/shared/describe.d.ts.map +1 -0
- package/dist/shared/describe.js +101 -0
- package/dist/shared/describe.js.map +1 -0
- package/dist/shared/globals.js +1 -39
- package/dist/shared/globals.js.map +1 -1
- package/dist/shared/index.d.ts +503 -14
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/input.d.ts +31 -13
- package/dist/shared/input.d.ts.map +1 -1
- package/dist/shared/input.js +40 -2
- package/dist/shared/input.js.map +1 -1
- package/dist/shared/json-guards.js +48 -0
- package/dist/shared/json-guards.js.map +1 -0
- package/dist/shared/live-canvas.js +62 -0
- package/dist/shared/live-canvas.js.map +1 -0
- package/dist/shared/mp.js +1 -1
- package/dist/shared/overlays.js +800 -0
- package/dist/shared/overlays.js.map +1 -0
- package/dist/shared/page-stack.js +2 -1
- package/dist/shared/page-stack.js.map +1 -1
- package/dist/shared/pose-key.js +249 -0
- package/dist/shared/pose-key.js.map +1 -0
- package/dist/shared/race.js +1 -1
- package/dist/shared/rooms.js +1 -1
- package/dist/shared/scene.d.ts +90 -0
- package/dist/shared/scene.d.ts.map +1 -0
- package/dist/shared/social.d.ts +55 -4
- package/dist/shared/social.d.ts.map +1 -1
- package/dist/shared/src.js +2020 -144
- package/dist/shared/src.js.map +1 -1
- package/dist/shared/svg-markup.js +1860 -0
- package/dist/shared/svg-markup.js.map +1 -0
- package/dist/shared/svg.js +27 -0
- package/dist/shared/svg.js.map +1 -0
- package/dist/shared/types.d.ts +166 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/social.d.ts +2 -2
- package/dist/social.js +2 -2
- package/dist/turns.d.ts +39 -0
- package/dist/turns.d.ts.map +1 -0
- package/dist/turns.js +117 -0
- package/dist/turns.js.map +1 -0
- package/package.json +33 -3
- package/src/avatar/adapters/pixi-avatar.ts +73 -0
- package/src/avatar/adapters/pixi-crowd.ts +302 -0
- package/src/avatar/adapters/pixi-types.ts +84 -0
- package/src/avatar/adapters/three.ts +126 -0
- package/src/avatar/animator/animator.ts +285 -0
- package/src/avatar/animator/reactions.ts +44 -0
- package/src/avatar/animator/schedule.ts +73 -0
- package/src/avatar/art/beard.ts +49 -0
- package/src/avatar/art/glasses.ts +9 -0
- package/src/avatar/art/hair.ts +254 -0
- package/src/avatar/art/headwear.ts +75 -0
- package/src/avatar/art/index.ts +21 -0
- package/src/avatar/art/shape.ts +68 -0
- package/src/avatar/art-store.ts +36 -0
- package/src/avatar/atlas.ts +236 -0
- package/src/avatar/catalog-view.ts +14 -0
- package/src/avatar/colour.ts +109 -0
- package/src/avatar/describe.ts +76 -0
- package/src/avatar/face.ts +187 -0
- package/src/avatar/geom.ts +168 -0
- package/src/avatar/layout.ts +47 -0
- package/src/avatar/look-like.ts +52 -0
- package/src/avatar/outputs/bitmap.ts +75 -0
- package/src/avatar/outputs/canvas-paint.ts +177 -0
- package/src/avatar/outputs/canvas.ts +62 -0
- package/src/avatar/outputs/custom-element.ts +140 -0
- package/src/avatar/outputs/element.ts +58 -0
- package/src/avatar/outputs/live-canvas.ts +57 -0
- package/src/avatar/outputs/overlay-svg.ts +22 -0
- package/src/avatar/outputs/pose-key.ts +30 -0
- package/src/avatar/outputs/svg-markup.ts +113 -0
- package/src/avatar/outputs/svg.ts +41 -0
- package/src/avatar/overlays.ts +128 -0
- package/src/avatar/render/body.ts +116 -0
- package/src/avatar/render/colours.ts +81 -0
- package/src/avatar/render/compose.ts +258 -0
- package/src/avatar/render/context.ts +117 -0
- package/src/avatar/render/eyes.ts +78 -0
- package/src/avatar/render/eyewear.ts +56 -0
- package/src/avatar/render/frame.ts +60 -0
- package/src/avatar/render/head.ts +81 -0
- package/src/avatar/render/mouth.ts +86 -0
- package/src/avatar/render/props.ts +91 -0
- package/src/avatar/render/types.ts +84 -0
- package/src/avatar/scene.ts +119 -0
- package/src/avatar-pixi.ts +20 -0
- package/src/avatar-svg.ts +21 -0
- package/src/avatar-three.ts +18 -0
- package/src/avatar.ts +62 -0
- package/src/core/avatar/avatar-cache.ts +95 -0
- package/src/core/avatar/avatar-ref.ts +34 -0
- package/src/core/avatar/avatar-types.ts +43 -0
- package/src/core/avatar/hub-avatar.ts +308 -0
- package/src/core/connection.ts +8 -0
- package/src/core/errors.ts +7 -1
- package/src/core/hub-progress.ts +269 -238
- package/src/core/hub.ts +174 -6
- package/src/core/offline/hub-kinds/avatar-kind.ts +42 -0
- package/src/core/offline/hub-kinds/index.ts +9 -0
- package/src/core/offline/hub-kinds/saved-kind.ts +93 -0
- package/src/core/page-account.ts +121 -0
- package/src/core/rest/routes.gen.ts +31 -1
- package/src/core/resume/hub-resume.ts +39 -5
- package/src/core/resume/resume-types.ts +2 -2
- package/src/core/saved/daily-saves.ts +196 -0
- package/src/core/saved/daily-seed.ts +16 -0
- package/src/core/saved/hub-saved.ts +221 -0
- package/src/core/saved/local-saved.ts +122 -0
- package/src/core/saved/saved-list.ts +129 -0
- package/src/core/saved/saved-open.ts +104 -0
- package/src/core/saved/saved-order.ts +49 -0
- package/src/core/saved/saved-types.ts +24 -0
- package/src/core/turns/hub-turns.ts +140 -0
- package/src/core/turns/turn-game.ts +388 -0
- package/src/core/version/client-version.gen.ts +2 -2
- package/src/daily/daily-system.ts +112 -13
- package/src/daily/page-daily.ts +2 -2
- package/src/daily/types.ts +46 -9
- package/src/doctor/hub-version-fetch.ts +43 -43
- package/src/index.ts +10 -1
- package/src/input/input-system.ts +10 -1
- package/src/input/navigator.ts +11 -0
- package/src/input.ts +1 -0
- package/src/overlay/overlay.ts +25 -1
- package/src/realtime/runtime-api.ts +14 -3
- package/src/social.ts +1 -0
- package/src/turns-kit/check-rules.ts +182 -0
- package/src/turns.ts +13 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily.d.ts","names":[],"sources":["../../src/daily/types.ts","../../src/daily/daily-system.ts","../../src/daily/page-daily.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"daily.d.ts","names":["SavedKind"],"sources":["../../src/core/saved/saved-open.ts","../../src/core/saved/saved-types.ts","../../src/core/game-data.ts","../../src/daily/types.ts","../../src/daily/daily-system.ts","../../src/daily/page-daily.ts"],"mappings":";;;;cAoBa;;cAGA;;cAGA;;cAGA;;UAMI;WACN;WACA,MAAM;;;iBAWD,aAAa,MAAM,KAAK;;;;;;;;UClCvB,mBAAmB,KAAK;WAC9B;;WAEA;;;UAIM;WACN,iBAAiBA;;;;;KCXhB;;;;KCDP,cAAc,0BAA0B,kBAAkB,qBAAqB,gBAAgB;;KAGxF,cAAc;;KAGd,WAAW;;KAGX,kBAAkB;;KAGlB,qBAAqB;;KAGrB,wBAAwB;;UAGnB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;EAMA,OAAO;;EAEP;;EAEA;;;UAIe;;EAEf,OAAO,WAAW;;;KAIR,sBAAsB,eAAe;;UAGhC;;WAEN,OAAO;;WAEP;aAAqB;aAAwB;;WAC7C;;WAEA;;;UAIM;;WAEN;;EAET,UAAU,QAAQ;;EAElB,OAAO,QAAQ;;EAEf,MAAM,cAAc,QAAQ;;EAE5B,OAAO,qBAAqB,QAAQ;;EAEpC,SAAS,aAAa,eAAe,MAAM,sBAAsB,QAAQ;;EAEzE,KAAK,WAAW,gBAAgB,OAAO;;EAEvC,SAAS;;EAET,QAAQ,WAAW,iBAAiB;;EAEpC,cAAc,QAAQ;;EAEtB,KAAK,cAAc,QAAQ;;;KAIjB;EACN;EAAa;EAAc;EAA2B;;EACtD;EAAa;EAAe;EAAqB,MAAM;;EACvD;EAAa;EAAc,MAAM;;EACjC;EAAa;;EACb;EAAa;;EACb;EAAa;;;;;cCvFN;;cAkCA;;;;;;;;;;EAUX,QAAQ;mBACS;UACT;UACA;UACA;;UAEA;UACA;EAEI,YAAA,MAAM;;MAiBd;;;;;;EASJ,OAAO,YAAY;;;;;;;EAmBb,aAAa,cAAc;;;;;;;EA2B3B,OAAO,qBAAqB;;UAmB1B;;;;;;;;EAgBR,KAAK,OAAO;;EASZ,cAAc,QAAQ;;;;;;EAShB,WAAW;;;;;;;;;EAoBX,SAAS,OAAM,sBAA2B,QAAQ;;UAsBhD;;;;;;;;;EAoBR;;EAUA,UAAU,QAAQ;;EAKlB,OAAO,QAAQ;;;;;cCrQJ;;iBAIG,cAAc,qBAAqB,aAAa;;;;;;iBAWhD,SAAS,MAAM,YAAY"}
|
package/dist/shared/daily.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as readField, n as claimSingleton, r as hasMethods } from "./globals.js";
|
|
2
|
+
import { t as _defineProperty } from "./defineProperty.js";
|
|
2
3
|
import "./client-version.gen.js";
|
|
3
4
|
//#region src/daily/daily-system.ts
|
|
4
5
|
/**
|
|
@@ -28,6 +29,19 @@ function readDeepLinkDay() {
|
|
|
28
29
|
function messageOf(error) {
|
|
29
30
|
return error instanceof Error ? error.message : String(error);
|
|
30
31
|
}
|
|
32
|
+
/** The challenge a start or resume answered. */
|
|
33
|
+
function challengeOf(started) {
|
|
34
|
+
return {
|
|
35
|
+
day: started.day,
|
|
36
|
+
seed: started.seed,
|
|
37
|
+
token: started.token,
|
|
38
|
+
alreadyCompleted: started.alreadyCompleted,
|
|
39
|
+
instanceId: started.instanceId,
|
|
40
|
+
saved: started.saved,
|
|
41
|
+
savedVersion: started.savedVersion,
|
|
42
|
+
resumed: started.resumed
|
|
43
|
+
};
|
|
44
|
+
}
|
|
31
45
|
/** Daily challenges (`hub.daily`). */
|
|
32
46
|
var DailySystem = class {
|
|
33
47
|
constructor(host) {
|
|
@@ -36,10 +50,11 @@ var DailySystem = class {
|
|
|
36
50
|
/**
|
|
37
51
|
* The challenge in progress: set when a day starts; cleared the moment the
|
|
38
52
|
* game calls `complete` (whatever the hub answers, and before it answers)
|
|
39
|
-
* or `cancel
|
|
53
|
+
* or `cancel` (or `discard`). A game's win handler checks it:
|
|
40
54
|
* `if (hub.daily.active) hub.daily.complete(…)`. While it is set the page
|
|
41
|
-
* is in a daily run, so `hub.resume.save` saves
|
|
42
|
-
* player leaves a daily unfinished must call
|
|
55
|
+
* is in a daily run, so `hub.resume.save` saves to the day instead of the
|
|
56
|
+
* game's run: a game whose player leaves a daily unfinished must call
|
|
57
|
+
* `cancel()`.
|
|
43
58
|
*/
|
|
44
59
|
"active",
|
|
45
60
|
null
|
|
@@ -47,6 +62,8 @@ var DailySystem = class {
|
|
|
47
62
|
_defineProperty(this, "host", void 0);
|
|
48
63
|
_defineProperty(this, "play", null);
|
|
49
64
|
_defineProperty(this, "pendingDay", null);
|
|
65
|
+
_defineProperty(this, "pendingInstance", null);
|
|
66
|
+
_defineProperty(this, "inFlight", null);
|
|
50
67
|
_defineProperty(this, "isRelaying", false);
|
|
51
68
|
this.host = host;
|
|
52
69
|
if (typeof window !== "undefined") window.addEventListener(DAILY_START_EVENT, (event) => {
|
|
@@ -67,8 +84,11 @@ var DailySystem = class {
|
|
|
67
84
|
define(definition) {
|
|
68
85
|
this.play = definition.play;
|
|
69
86
|
const day = readDeepLinkDay() ?? this.pendingDay;
|
|
87
|
+
const instanceId = this.pendingInstance;
|
|
70
88
|
this.pendingDay = null;
|
|
89
|
+
this.pendingInstance = null;
|
|
71
90
|
if (day !== null) this.startAndPlay(day);
|
|
91
|
+
else if (instanceId !== null) this.resume(instanceId);
|
|
72
92
|
}
|
|
73
93
|
/**
|
|
74
94
|
* Fetch the signed token for `day`, make it active and call the game's
|
|
@@ -83,28 +103,91 @@ var DailySystem = class {
|
|
|
83
103
|
this.relayStart(day);
|
|
84
104
|
return;
|
|
85
105
|
}
|
|
106
|
+
const starting = (async () => {
|
|
107
|
+
try {
|
|
108
|
+
this.begin(play, challengeOf(await this.host.start(day)));
|
|
109
|
+
} catch (error) {
|
|
110
|
+
this.host.emit("hub:daily-error", {
|
|
111
|
+
day,
|
|
112
|
+
error: messageOf(error)
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
})();
|
|
116
|
+
this.inFlight = starting;
|
|
117
|
+
await starting;
|
|
118
|
+
if (this.inFlight === starting) this.inFlight = null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Pick up a day in progress by its saved game's id (from `hub.saved`):
|
|
122
|
+
* a fresh token, then the game's `play` with `challenge.saved`. Finishing
|
|
123
|
+
* it any time later gives that day's credit. A no-op while that day is
|
|
124
|
+
* already being played.
|
|
125
|
+
*/
|
|
126
|
+
async resume(instanceId) {
|
|
127
|
+
await this.inFlight;
|
|
128
|
+
if (this.active?.instanceId === instanceId) return;
|
|
129
|
+
const play = this.play;
|
|
130
|
+
if (play === null) {
|
|
131
|
+
this.pendingInstance = instanceId;
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
86
134
|
try {
|
|
87
|
-
|
|
88
|
-
const challenge = {
|
|
89
|
-
day: started.day,
|
|
90
|
-
seed: started.seed,
|
|
91
|
-
token: started.token,
|
|
92
|
-
alreadyCompleted: started.alreadyCompleted
|
|
93
|
-
};
|
|
94
|
-
this.active = challenge;
|
|
95
|
-
this.host.emit("hub:daily-started", {
|
|
96
|
-
day: started.day,
|
|
97
|
-
seed: started.seed,
|
|
98
|
-
alreadyCompleted: started.alreadyCompleted
|
|
99
|
-
});
|
|
100
|
-
play({ ...challenge });
|
|
135
|
+
this.begin(play, challengeOf(await this.host.resume(instanceId)));
|
|
101
136
|
} catch (error) {
|
|
102
137
|
this.host.emit("hub:daily-error", {
|
|
103
|
-
day,
|
|
138
|
+
day: "",
|
|
104
139
|
error: messageOf(error)
|
|
105
140
|
});
|
|
106
141
|
}
|
|
107
142
|
}
|
|
143
|
+
/** Make `challenge` the active day and hand it to the game. */
|
|
144
|
+
begin(play, challenge) {
|
|
145
|
+
this.active = challenge;
|
|
146
|
+
this.host.emit("hub:daily-started", {
|
|
147
|
+
day: challenge.day,
|
|
148
|
+
seed: challenge.seed,
|
|
149
|
+
alreadyCompleted: challenge.alreadyCompleted === true,
|
|
150
|
+
resumed: challenge.resumed === true
|
|
151
|
+
});
|
|
152
|
+
if (challenge.resumed === true) this.host.emit("hub:daily-resumed", {
|
|
153
|
+
day: challenge.day,
|
|
154
|
+
seed: challenge.seed,
|
|
155
|
+
alreadyCompleted: false,
|
|
156
|
+
resumed: true
|
|
157
|
+
});
|
|
158
|
+
play({ ...challenge });
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Save the active day's state, so it can be picked up later (a reload,
|
|
162
|
+
* another device, next week) and still give that day's credit. Kept on
|
|
163
|
+
* the device at once and sent after a short quiet spell (works offline).
|
|
164
|
+
* `hub.resume.save` during a daily lands here too. Returns `false` with
|
|
165
|
+
* no daily active, or for a replay of a completed day (nothing to save).
|
|
166
|
+
*/
|
|
167
|
+
save(input) {
|
|
168
|
+
const challenge = this.active;
|
|
169
|
+
if (challenge === null || challenge.instanceId === null) return false;
|
|
170
|
+
return this.host.save(challenge, input);
|
|
171
|
+
}
|
|
172
|
+
/** This game's days in progress (the calendar marks them, the game can list them). */
|
|
173
|
+
inProgress() {
|
|
174
|
+
return this.host.inProgress();
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Give up the active day: its progress is discarded and nothing is
|
|
178
|
+
* recorded. The day can be started again fresh while it is in the 30-day
|
|
179
|
+
* window. (The hub's lists ask the player first; a game asks for itself.)
|
|
180
|
+
*/
|
|
181
|
+
async discard() {
|
|
182
|
+
const challenge = this.active;
|
|
183
|
+
if (challenge === null) return;
|
|
184
|
+
this.active = null;
|
|
185
|
+
if (challenge.instanceId !== null) await this.host.discard(challenge);
|
|
186
|
+
this.host.emit("hub:daily-discarded", {
|
|
187
|
+
day: challenge.day,
|
|
188
|
+
discarded: true
|
|
189
|
+
});
|
|
190
|
+
}
|
|
108
191
|
/**
|
|
109
192
|
* Record completion of the active challenge with optional metadata.
|
|
110
193
|
* Resolves with the new completion count and rank, or `null` when no
|
|
@@ -153,12 +236,23 @@ var DailySystem = class {
|
|
|
153
236
|
}
|
|
154
237
|
}
|
|
155
238
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
239
|
+
* Pause the active day: the player left it unfinished (quit, picked
|
|
240
|
+
* another level, started a normal game). Nothing is recorded, and the day
|
|
241
|
+
* stays in progress in "Your games" and the calendar, to finish later
|
|
242
|
+
* (its last save is sent now). Until then the page counts as in a daily,
|
|
243
|
+
* so `hub.resume.save` saves to the day: call `cancel()` on every path
|
|
244
|
+
* that leaves a daily without `complete`. To give a day up, `discard()`.
|
|
159
245
|
*/
|
|
160
246
|
cancel() {
|
|
247
|
+
const challenge = this.active;
|
|
161
248
|
this.active = null;
|
|
249
|
+
if (challenge !== null) {
|
|
250
|
+
this.host.flush().catch(() => void 0);
|
|
251
|
+
this.host.emit("hub:daily-paused", {
|
|
252
|
+
day: challenge.day,
|
|
253
|
+
paused: true
|
|
254
|
+
});
|
|
255
|
+
}
|
|
162
256
|
}
|
|
163
257
|
/** This game's window and the player's completions. */
|
|
164
258
|
status() {
|
|
@@ -175,8 +269,8 @@ var DailySystem = class {
|
|
|
175
269
|
* The page's one daily-challenge system (plan §4.4): the first bundle to
|
|
176
270
|
* create it wins, so the menu starts days on the instance the game defined.
|
|
177
271
|
*/
|
|
178
|
-
/** The cross-bundle shape number of the `daily` singleton. Bump only on an incompatible change. */
|
|
179
|
-
const DAILY_SINGLETON_API =
|
|
272
|
+
/** The cross-bundle shape number of the `daily` singleton (2 added save, resume, discard and inProgress). Bump only on an incompatible change. */
|
|
273
|
+
const DAILY_SINGLETON_API = 2;
|
|
180
274
|
/** Whether `candidate` is some bundle's daily system (v1 copies included). */
|
|
181
275
|
function isDailySystem(candidate) {
|
|
182
276
|
return hasMethods(candidate, [
|
|
@@ -197,8 +291,8 @@ let claimedDaily = null;
|
|
|
197
291
|
function getDaily(host) {
|
|
198
292
|
claimedDaily ?? (claimedDaily = claimSingleton({
|
|
199
293
|
name: "daily",
|
|
200
|
-
version: "2.0.0-next.
|
|
201
|
-
api:
|
|
294
|
+
version: "2.0.0-next.6",
|
|
295
|
+
api: 2,
|
|
202
296
|
create: () => new DailySystem(host),
|
|
203
297
|
isInstance: isDailySystem
|
|
204
298
|
}));
|
package/dist/shared/daily.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily.js","names":[],"sources":["../../src/daily/daily-system.ts","../../src/daily/page-daily.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"daily.js","names":[],"sources":["../../src/daily/daily-system.ts","../../src/daily/page-daily.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
|
|
2
|
+
function _typeof(o) {
|
|
3
|
+
"@babel/helpers - typeof";
|
|
4
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
5
|
+
return typeof o;
|
|
6
|
+
} : function(o) {
|
|
7
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
8
|
+
}, _typeof(o);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
|
|
12
|
+
function toPrimitive(t, r) {
|
|
13
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
14
|
+
var e = t[Symbol.toPrimitive];
|
|
15
|
+
if (void 0 !== e) {
|
|
16
|
+
var i = e.call(t, r || "default");
|
|
17
|
+
if ("object" != _typeof(i)) return i;
|
|
18
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
19
|
+
}
|
|
20
|
+
return ("string" === r ? String : Number)(t);
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
|
|
24
|
+
function toPropertyKey(t) {
|
|
25
|
+
var i = toPrimitive(t, "string");
|
|
26
|
+
return "symbol" == _typeof(i) ? i : i + "";
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
|
|
30
|
+
function _defineProperty(e, r, t) {
|
|
31
|
+
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
32
|
+
value: t,
|
|
33
|
+
enumerable: !0,
|
|
34
|
+
configurable: !0,
|
|
35
|
+
writable: !0
|
|
36
|
+
}) : e[r] = t, e;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { _defineProperty as t };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { l as RenderOptions, o as LookLike, s as Point, t as Anchor } from "./types.js";
|
|
2
|
+
import { t as SceneNode } from "./scene.js";
|
|
3
|
+
import { AvatarLook } from "@diffenderfer-games/hub-contract/avatar";
|
|
4
|
+
//#region src/avatar/render/compose.d.ts
|
|
5
|
+
/** The head centre's height above the feet. */
|
|
6
|
+
declare const HEAD_Y = -96;
|
|
7
|
+
/** A composed avatar: scene nodes in rig space and its anchors. */
|
|
8
|
+
interface Composed {
|
|
9
|
+
readonly nodes: readonly SceneNode[];
|
|
10
|
+
readonly anchors: Readonly<Record<Anchor, Point>>;
|
|
11
|
+
}
|
|
12
|
+
/** Composes a look (or `null` for the silhouette) with a pose. */
|
|
13
|
+
declare function composeAvatar(look: AvatarLook | null, opts?: RenderOptions): Composed;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/avatar/outputs/svg.d.ts
|
|
16
|
+
/** An avatar as SVG markup. */
|
|
17
|
+
declare function renderSvg(like: LookLike, opts?: RenderOptions): string;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/avatar/art-store.d.ts
|
|
20
|
+
/** Loads the art chunk (once). Resolves when rendering is synchronous. */
|
|
21
|
+
declare function ready(): Promise<void>;
|
|
22
|
+
/** Calls `fn` once the art has loaded (now, when it already has). */
|
|
23
|
+
declare function onArtReady(fn: () => void): void;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/avatar/describe.d.ts
|
|
26
|
+
/** Alt text for any {@link LookLike} (`''` for none). */
|
|
27
|
+
declare function describe(like: LookLike): string;
|
|
28
|
+
/** A person emoji with the nearest of the five skin tones and a hair hint where Unicode has one: `🧑🏽🦱`. */
|
|
29
|
+
declare function avatarEmoji(like: LookLike): string;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { renderSvg as a, composeAvatar as c, ready as i, describe as n, Composed as o, onArtReady as r, HEAD_Y as s, avatarEmoji as t };
|
|
32
|
+
//# sourceMappingURL=describe.d.ts.map
|
|
@@ -0,0 +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":";;;;;cAuBa;;UASI;WACN,gBAAgB;WAChB,SAAS,SAAS,OAAO,QAAQ;;;iBAiL5B,cAAc,MAAM,mBAAmB,OAAM,gBAAqB;;;;iBC9KlE,UAAU,MAAM,UAAU,OAAM;;;;iBCpBhC,SAAS;;iBAYT,WAAW;;;;iBC4BX,SAAS,MAAM;;iBASf,YAAY,MAAM"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { M as lightness, P as toLook } from "./svg-markup.js";
|
|
2
|
+
import { findPreset, partName, resolveColour } from "@diffenderfer-games/hub-contract/avatar";
|
|
3
|
+
//#region src/avatar/describe.ts
|
|
4
|
+
/**
|
|
5
|
+
* Plain-text forms of a look: `describe()` for alt text where the avatar is
|
|
6
|
+
* the content (the designer preview), and `avatarEmoji()` for plain-text
|
|
7
|
+
* places (push titles, the console). Never gendered (§10).
|
|
8
|
+
*/
|
|
9
|
+
/** Hair phrases; `{c}` is the colour word. */
|
|
10
|
+
const HAIR_WORDS = {
|
|
11
|
+
bald: "no hair",
|
|
12
|
+
buzz: "a {c} buzz cut",
|
|
13
|
+
crop: "short {c} hair",
|
|
14
|
+
swoop: "short swept {c} hair",
|
|
15
|
+
spiky: "spiky {c} hair",
|
|
16
|
+
curly: "short curly {c} hair",
|
|
17
|
+
coily: "short coily {c} hair",
|
|
18
|
+
afro: "a {c} afro",
|
|
19
|
+
bob: "a {c} bob",
|
|
20
|
+
long: "long {c} hair",
|
|
21
|
+
ponytail: "a {c} ponytail",
|
|
22
|
+
bun: "a {c} bun",
|
|
23
|
+
puffs: "two {c} puffs",
|
|
24
|
+
mohawk: "a {c} mohawk",
|
|
25
|
+
locs: "{c} locs",
|
|
26
|
+
braids: "{c} braids"
|
|
27
|
+
};
|
|
28
|
+
const BEARD_WORDS = {
|
|
29
|
+
stubble: "stubble",
|
|
30
|
+
moustache: "a moustache",
|
|
31
|
+
handlebar: "a handlebar moustache",
|
|
32
|
+
goatee: "a goatee",
|
|
33
|
+
chinstrap: "a chinstrap beard",
|
|
34
|
+
short: "a short beard",
|
|
35
|
+
full: "a beard",
|
|
36
|
+
long: "a long beard"
|
|
37
|
+
};
|
|
38
|
+
const EXTRA_WORDS = {
|
|
39
|
+
"glasses.round": "round glasses",
|
|
40
|
+
"glasses.square": "square glasses",
|
|
41
|
+
"headwear.hijab": "a hijab",
|
|
42
|
+
"headwear.headwrap": "a headwrap",
|
|
43
|
+
"headwear.beanie": "a beanie",
|
|
44
|
+
"headwear.cap": "a cap",
|
|
45
|
+
"face.freckles": "freckles",
|
|
46
|
+
"face.rosy": "rosy cheeks",
|
|
47
|
+
"ears.studs": "earrings",
|
|
48
|
+
"ears.hoops": "hoop earrings"
|
|
49
|
+
};
|
|
50
|
+
/** A colour word: the preset's name (`p:hair-dark-blond` → "dark blond"), else "light" or "dark". */
|
|
51
|
+
function colourWord(colour, prefix) {
|
|
52
|
+
if (findPreset(colour) && colour.startsWith(`p:${prefix}-`)) return colour.slice(prefix.length + 3).replace(/-/g, " ");
|
|
53
|
+
return lightness(resolveColour(colour)) > .6 ? "light" : "dark";
|
|
54
|
+
}
|
|
55
|
+
/** "Short curly blond hair, green eyes and freckles." */
|
|
56
|
+
function describeLook(look) {
|
|
57
|
+
const isCovered = look.accessories.some((a) => a.id === "headwear.hijab" || a.id === "headwear.headwrap");
|
|
58
|
+
const parts = [];
|
|
59
|
+
if (!isCovered) parts.push((HAIR_WORDS[partName(look.hair.style)] ?? "{c} hair").replace("{c}", colourWord(look.hair.colour, "hair")));
|
|
60
|
+
parts.push(`${colourWord(look.eyes.colour, "eye")} eyes`);
|
|
61
|
+
const beard = BEARD_WORDS[partName(look.facialHair.style)];
|
|
62
|
+
if (beard) parts.push(beard);
|
|
63
|
+
for (const accessory of look.accessories) {
|
|
64
|
+
const word = EXTRA_WORDS[accessory.id];
|
|
65
|
+
if (word) parts.push(word);
|
|
66
|
+
}
|
|
67
|
+
const text = parts.length > 1 ? `${parts.slice(0, -1).join(", ")} and ${parts.at(-1) ?? ""}` : parts.join("");
|
|
68
|
+
return `${text.charAt(0).toUpperCase()}${text.slice(1)}.`;
|
|
69
|
+
}
|
|
70
|
+
/** Alt text for any {@link LookLike} (`''` for none). */
|
|
71
|
+
function describe(like) {
|
|
72
|
+
const look = toLook(like);
|
|
73
|
+
return look ? describeLook(look) : "";
|
|
74
|
+
}
|
|
75
|
+
const TONES = [
|
|
76
|
+
"🏻",
|
|
77
|
+
"🏼",
|
|
78
|
+
"🏽",
|
|
79
|
+
"🏾",
|
|
80
|
+
"🏿"
|
|
81
|
+
];
|
|
82
|
+
const HAIR_HINT = {
|
|
83
|
+
curly: "🦱",
|
|
84
|
+
coily: "🦱",
|
|
85
|
+
afro: "🦱",
|
|
86
|
+
bald: "🦲",
|
|
87
|
+
buzz: "🦲"
|
|
88
|
+
};
|
|
89
|
+
/** A person emoji with the nearest of the five skin tones and a hair hint where Unicode has one: `🧑🏽🦱`. */
|
|
90
|
+
function avatarEmoji(like) {
|
|
91
|
+
const look = toLook(like);
|
|
92
|
+
if (!look) return "👤";
|
|
93
|
+
const l = lightness(resolveColour(look.skin));
|
|
94
|
+
const tone = TONES[Math.max(0, Math.min(4, Math.round((.86 - l) / .09)))] ?? "";
|
|
95
|
+
const hint = HAIR_HINT[partName(look.hair.style)];
|
|
96
|
+
return `\u{1F9D1}${tone}${hint ? `${hint}` : ""}`;
|
|
97
|
+
}
|
|
98
|
+
//#endregion
|
|
99
|
+
export { describe as n, avatarEmoji as t };
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=describe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe.js","names":[],"sources":["../../src/avatar/describe.ts"],"mappings":";;;;;;;;;AAWA,MAAM,aAA+C;CACnD,MAAM;CAAW,MAAM;CAAkB,MAAM;CAAkB,OAAO;CAAwB,OAAO;CACvG,OAAO;CAAwB,OAAO;CAAwB,MAAM;CAAc,KAAK;CAAa,MAAM;CAC1G,UAAU;CAAkB,KAAK;CAAa,OAAO;CAAiB,QAAQ;CAAgB,MAAM;CAAY,QAAQ;AAC1H;AACA,MAAM,cAAgD;CACpD,SAAS;CAAW,WAAW;CAAe,WAAW;CAAyB,QAAQ;CAC1F,WAAW;CAAqB,OAAO;CAAiB,MAAM;CAAW,MAAM;AACjF;AACA,MAAM,cAAgD;CACpD,iBAAiB;CAAiB,kBAAkB;CAAkB,kBAAkB;CACxF,qBAAqB;CAAc,mBAAmB;CAAY,gBAAgB;CAClF,iBAAiB;CAAY,aAAa;CAAe,cAAc;CAAY,cAAc;AACnG;;AAGA,SAAS,WAAW,QAAoB,QAAgC;CACtE,IAAI,WAAW,MAAM,KAAK,OAAO,WAAW,KAAK,OAAO,EAAE,GACxD,OAAO,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,GAAG;CAE1D,OAAO,UAAU,cAAc,MAAM,CAAC,IAAI,KAAM,UAAU;AAC5D;;AAGA,SAAgB,aAAa,MAA0B;CACrD,MAAM,YAAY,KAAK,YAAY,MAAM,MAAM,EAAE,OAAO,oBAAoB,EAAE,OAAO,mBAAmB;CACxG,MAAM,QAAkB,CAAC;CACzB,IAAI,CAAC,WACH,MAAM,MAAM,WAAW,SAAS,KAAK,KAAK,KAAK,MAAM,WAAA,CAAY,QAAQ,OAAO,WAAW,KAAK,KAAK,QAAQ,MAAM,CAAC,CAAC;CAEvH,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,QAAQ,KAAK,EAAE,MAAM;CACxD,MAAM,QAAQ,YAAY,SAAS,KAAK,WAAW,KAAK;CACxD,IAAI,OACF,MAAM,KAAK,KAAK;CAElB,KAAK,MAAM,aAAa,KAAK,aAAa;EACxC,MAAM,OAAO,YAAY,UAAU;EACnC,IAAI,MACF,MAAM,KAAK,IAAI;CAEnB;CACA,MAAM,OAAO,MAAM,SAAS,IAAI,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,MAAM,GAAG,EAAE,KAAK,OAAO,MAAM,KAAK,EAAE;CAC5G,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE;AACzD;;AAGA,SAAgB,SAAS,MAAwB;CAC/C,MAAM,OAAO,OAAO,IAAI;CACxB,OAAO,OAAO,aAAa,IAAI,IAAI;AACrC;AAEA,MAAM,QAAQ;CAAC;CAAa;CAAa;CAAa;CAAa;AAAW;AAC9E,MAAM,YAA8C;CAAE,OAAO;CAAa,OAAO;CAAa,MAAM;CAAa,MAAM;CAAa,MAAM;AAAY;;AAGtJ,SAAgB,YAAY,MAAwB;CAClD,MAAM,OAAO,OAAO,IAAI;CACxB,IAAI,CAAC,MACH,OAAO;CAET,MAAM,IAAI,UAAU,cAAc,KAAK,IAAI,CAAC;CAC5C,MAAM,OAAO,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,OAAO,MAAO,KAAK,GAAI,CAAC,CAAC,MAAM;CAC/E,MAAM,OAAO,UAAU,SAAS,KAAK,KAAK,KAAK;CAC/C,OAAO,YAAY,OAAO,OAAO,IAAI,SAAS;AAChD"}
|
package/dist/shared/globals.js
CHANGED
|
@@ -12,44 +12,6 @@ function hasMethods(candidate, names) {
|
|
|
12
12
|
function readField(candidate, key) {
|
|
13
13
|
return isObject(candidate) ? Reflect.get(candidate, key) : void 0;
|
|
14
14
|
}
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
|
|
17
|
-
function _typeof(o) {
|
|
18
|
-
"@babel/helpers - typeof";
|
|
19
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
20
|
-
return typeof o;
|
|
21
|
-
} : function(o) {
|
|
22
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
23
|
-
}, _typeof(o);
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
|
|
27
|
-
function toPrimitive(t, r) {
|
|
28
|
-
if ("object" != _typeof(t) || !t) return t;
|
|
29
|
-
var e = t[Symbol.toPrimitive];
|
|
30
|
-
if (void 0 !== e) {
|
|
31
|
-
var i = e.call(t, r || "default");
|
|
32
|
-
if ("object" != _typeof(i)) return i;
|
|
33
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
34
|
-
}
|
|
35
|
-
return ("string" === r ? String : Number)(t);
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
|
|
39
|
-
function toPropertyKey(t) {
|
|
40
|
-
var i = toPrimitive(t, "string");
|
|
41
|
-
return "symbol" == _typeof(i) ? i : i + "";
|
|
42
|
-
}
|
|
43
|
-
//#endregion
|
|
44
|
-
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
|
|
45
|
-
function _defineProperty(e, r, t) {
|
|
46
|
-
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
47
|
-
value: t,
|
|
48
|
-
enumerable: !0,
|
|
49
|
-
configurable: !0,
|
|
50
|
-
writable: !0
|
|
51
|
-
}) : e[r] = t, e;
|
|
52
|
-
}
|
|
53
15
|
/** The v1 window names, kept as aliases. */
|
|
54
16
|
const LEGACY_GLOBAL_NAMES = {
|
|
55
17
|
input: "__HUB_INPUT__",
|
|
@@ -97,6 +59,6 @@ function claimSingleton(claim) {
|
|
|
97
59
|
return instance;
|
|
98
60
|
}
|
|
99
61
|
//#endregion
|
|
100
|
-
export {
|
|
62
|
+
export { readField as a, isObject as i, claimSingleton as n, hasMethods as r, LEGACY_GLOBAL_NAMES as t };
|
|
101
63
|
|
|
102
64
|
//# sourceMappingURL=globals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","names":[],"sources":["../../src/realtime/cross-bundle.ts","../../src/globals.ts"],"mappings":";;AAWA,SAAgB,SAAS,WAAyC;CAChE,OAAO,OAAO,cAAc,YAAY,cAAc;AACxD;;AAIA,SAAgB,WAAgC,WAAoB,OAA8D;CAChI,IAAI,CAAC,SAAS,SAAS,GACrB,OAAO;CAET,OAAO,MAAM,OAAO,SAAS,QAAQ,aAAa,OAAO,QAAQ,IAAI,WAAW,IAAI,MAAM,UAAU;AACtG;;AAIA,SAAgB,UAAU,WAAoB,KAAsB;CAClE,OAAO,SAAS,SAAS,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,KAAA;AAC7D
|
|
1
|
+
{"version":3,"file":"globals.js","names":[],"sources":["../../src/realtime/cross-bundle.ts","../../src/globals.ts"],"mappings":";;AAWA,SAAgB,SAAS,WAAyC;CAChE,OAAO,OAAO,cAAc,YAAY,cAAc;AACxD;;AAIA,SAAgB,WAAgC,WAAoB,OAA8D;CAChI,IAAI,CAAC,SAAS,SAAS,GACrB,OAAO;CAET,OAAO,MAAM,OAAO,SAAS,QAAQ,aAAa,OAAO,QAAQ,IAAI,WAAW,IAAI,MAAM,UAAU;AACtG;;AAIA,SAAgB,UAAU,WAAoB,KAAsB;CAClE,OAAO,SAAS,SAAS,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,KAAA;AAC7D;;ACQA,MAAa,sBAAsB;CAAE,OAAO;CAAiB,OAAO;CAAiB,IAAI;AAAa;AAkCtG,MAAM,mCAAmB,IAAI,IAAmB;;AAGhD,SAAS,WAAW,MAAiD;CACnE,IAAI,SAAS,KAAA,GACX;CAEF,KAAK,WAAL,KAAK,SAAW,CAAC;CACjB,OAAO,KAAK;AACd;;AAGA,SAAgB,eAAkB,OAA6B;CAC7D,MAAM,OAAO,OAAO,WAAW,cAAc,KAAA,IAAY;CACzD,MAAM,WAAW,WAAW,IAAI;CAChC,IAAI,SAAS,KAAA,KAAa,aAAa,KAAA,GACrC,OAAO,MAAM,OAAO;CAEtB,MAAM,aAAa,SAAS,MAAM;CAClC,IAAI,eAAe,KAAA,KAAa,MAAM,WAAW,WAAW,QAAQ,GAAG;EACrE,IAAI,WAAW,QAAQ,MAAM,KAC3B,OAAO,WAAW;EAEpB,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,GAAG;GACrC,iBAAiB,IAAI,MAAM,IAAI;GAE/B,QAAQ,KAAK,+CAA+C,MAAM,KAAK,MAAM,WAAW,QAAQ,OAAO,OAAO,WAAW,GAAG,EAAE,KAAK,MAAM,QAAQ,OAAO,OAAO,MAAM,GAAG,EAAE,2CAA2C;EACvN;EACA,IAAI,MAAM,aAAa,UAAU,MAAM,MACrC,OAAO,MAAM,OAAO;CAExB,OAAO;EACL,MAAM,SAAS,KAAK,oBAAoB,MAAM;EAC9C,IAAI,eAAe,KAAA,KAAa,MAAM,WAAW,MAAM,GAAG;GAGxD,SAAS,MAAM,QAAQ;IAAE,SAAA;IAA4B,KAAK,MAAM;IAAK,UAAU;GAAO;GACtF,OAAO;EACT;CACF;CACA,MAAM,WAAW,MAAM,OAAO;CAC9B,SAAS,MAAM,QAAQ;EAAE,SAAS,MAAM;EAAS,KAAK,MAAM;EAAK;CAAS;CAC1E,KAAK,oBAAoB,MAAM,SAAS;CACxC,OAAO;AACT"}
|