@diffenderfer-games/hub 2.0.0-next.1 → 2.0.0-next.11

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.
Files changed (246) hide show
  1. package/CHANGELOG.md +173 -5
  2. package/README.md +27 -15
  3. package/dist/auto.d.ts +8 -8
  4. package/dist/auto.js +3 -3
  5. package/dist/avatar-pixi.d.ts +165 -0
  6. package/dist/avatar-pixi.d.ts.map +1 -0
  7. package/dist/avatar-pixi.js +299 -0
  8. package/dist/avatar-pixi.js.map +1 -0
  9. package/dist/avatar-svg.d.ts +4 -0
  10. package/dist/avatar-svg.js +5 -0
  11. package/dist/avatar-three.d.ts +69 -0
  12. package/dist/avatar-three.d.ts.map +1 -0
  13. package/dist/avatar-three.js +49 -0
  14. package/dist/avatar-three.js.map +1 -0
  15. package/dist/avatar.d.ts +7 -0
  16. package/dist/avatar.js +500 -0
  17. package/dist/avatar.js.map +1 -0
  18. package/dist/daily.d.ts +2 -2
  19. package/dist/doctor/cli.mjs +134 -10
  20. package/dist/doctor/cli.mjs.map +1 -1
  21. package/dist/index.d.ts +8 -8
  22. package/dist/index.js +3 -3
  23. package/dist/input.d.ts +2 -2
  24. package/dist/input.js +2 -2
  25. package/dist/mp.d.ts +3 -3
  26. package/dist/race.d.ts +1 -1
  27. package/dist/rooms.d.ts +3 -3
  28. package/dist/rooms.js +1 -1
  29. package/dist/shared/animator.d.ts +104 -0
  30. package/dist/shared/animator.d.ts.map +1 -0
  31. package/dist/shared/art.js +1946 -0
  32. package/dist/shared/art.js.map +1 -0
  33. package/dist/shared/atlas.d.ts +138 -0
  34. package/dist/shared/atlas.d.ts.map +1 -0
  35. package/dist/shared/avatar.d.ts +123 -0
  36. package/dist/shared/avatar.d.ts.map +1 -0
  37. package/dist/shared/bridge.js +18 -4
  38. package/dist/shared/bridge.js.map +1 -1
  39. package/dist/shared/client-version.gen.js +1 -1
  40. package/dist/shared/daily.d.ts +145 -19
  41. package/dist/shared/daily.d.ts.map +1 -1
  42. package/dist/shared/daily.js +138 -25
  43. package/dist/shared/daily.js.map +1 -1
  44. package/dist/shared/defineProperty.js +39 -0
  45. package/dist/shared/describe.d.ts +32 -0
  46. package/dist/shared/describe.d.ts.map +1 -0
  47. package/dist/shared/describe.js +109 -0
  48. package/dist/shared/describe.js.map +1 -0
  49. package/dist/shared/globals.js +1 -39
  50. package/dist/shared/globals.js.map +1 -1
  51. package/dist/shared/index.d.ts +1122 -46
  52. package/dist/shared/index.d.ts.map +1 -1
  53. package/dist/shared/input.d.ts +74 -14
  54. package/dist/shared/input.d.ts.map +1 -1
  55. package/dist/shared/input.js +179 -25
  56. package/dist/shared/input.js.map +1 -1
  57. package/dist/shared/json-guards.js +48 -0
  58. package/dist/shared/json-guards.js.map +1 -0
  59. package/dist/shared/latest-state.js +1 -1
  60. package/dist/shared/live-canvas.js +62 -0
  61. package/dist/shared/live-canvas.js.map +1 -0
  62. package/dist/shared/mp.js +10 -2
  63. package/dist/shared/mp.js.map +1 -1
  64. package/dist/shared/multiplayer-types.d.ts +15 -2
  65. package/dist/shared/multiplayer-types.d.ts.map +1 -1
  66. package/dist/shared/overlays.js +800 -0
  67. package/dist/shared/overlays.js.map +1 -0
  68. package/dist/shared/page-stack.js +2 -1
  69. package/dist/shared/page-stack.js.map +1 -1
  70. package/dist/shared/pose-key.js +249 -0
  71. package/dist/shared/pose-key.js.map +1 -0
  72. package/dist/shared/race-types.d.ts +1 -1
  73. package/dist/shared/race.js +1 -1
  74. package/dist/shared/room-types.d.ts +28 -3
  75. package/dist/shared/room-types.d.ts.map +1 -1
  76. package/dist/shared/rooms.d.ts.map +1 -1
  77. package/dist/shared/rooms.js +23 -4
  78. package/dist/shared/rooms.js.map +1 -1
  79. package/dist/shared/runtime-opener.js +1 -1
  80. package/dist/shared/scene.d.ts +90 -0
  81. package/dist/shared/scene.d.ts.map +1 -0
  82. package/dist/shared/social.d.ts +90 -9
  83. package/dist/shared/social.d.ts.map +1 -1
  84. package/dist/shared/social.js +6 -1
  85. package/dist/shared/social.js.map +1 -1
  86. package/dist/shared/src.js +4563 -667
  87. package/dist/shared/src.js.map +1 -1
  88. package/dist/shared/svg-markup.js +2411 -0
  89. package/dist/shared/svg-markup.js.map +1 -0
  90. package/dist/shared/svg.js +27 -0
  91. package/dist/shared/svg.js.map +1 -0
  92. package/dist/shared/types.d.ts +174 -0
  93. package/dist/shared/types.d.ts.map +1 -0
  94. package/dist/shared/wire-types.d.ts +6 -2
  95. package/dist/shared/wire-types.d.ts.map +1 -1
  96. package/dist/social.d.ts +5 -5
  97. package/dist/social.js +2 -2
  98. package/dist/turns-rules.d.ts +2 -0
  99. package/dist/turns-rules.js +1 -0
  100. package/dist/turns.d.ts +61 -0
  101. package/dist/turns.d.ts.map +1 -0
  102. package/dist/turns.js +183 -0
  103. package/dist/turns.js.map +1 -0
  104. package/package.json +39 -3
  105. package/src/avatar/adapters/pixi-avatar.ts +73 -0
  106. package/src/avatar/adapters/pixi-crowd.ts +329 -0
  107. package/src/avatar/adapters/pixi-types.ts +84 -0
  108. package/src/avatar/adapters/three.ts +126 -0
  109. package/src/avatar/animator/animator.ts +285 -0
  110. package/src/avatar/animator/reactions.ts +44 -0
  111. package/src/avatar/animator/schedule.ts +73 -0
  112. package/src/avatar/art/beard.ts +49 -0
  113. package/src/avatar/art/glasses.ts +67 -0
  114. package/src/avatar/art/hair.ts +254 -0
  115. package/src/avatar/art/headwear.ts +75 -0
  116. package/src/avatar/art/index.ts +21 -0
  117. package/src/avatar/art/shape.ts +87 -0
  118. package/src/avatar/art-store.ts +36 -0
  119. package/src/avatar/atlas.ts +246 -0
  120. package/src/avatar/catalog-view.ts +14 -0
  121. package/src/avatar/colour.ts +109 -0
  122. package/src/avatar/describe.ts +79 -0
  123. package/src/avatar/face.ts +187 -0
  124. package/src/avatar/geom.ts +173 -0
  125. package/src/avatar/layout.ts +47 -0
  126. package/src/avatar/look-like.ts +52 -0
  127. package/src/avatar/outputs/bitmap.ts +75 -0
  128. package/src/avatar/outputs/canvas-paint.ts +177 -0
  129. package/src/avatar/outputs/canvas.ts +62 -0
  130. package/src/avatar/outputs/custom-element.ts +140 -0
  131. package/src/avatar/outputs/element.ts +58 -0
  132. package/src/avatar/outputs/live-canvas.ts +57 -0
  133. package/src/avatar/outputs/overlay-svg.ts +22 -0
  134. package/src/avatar/outputs/pose-key.ts +30 -0
  135. package/src/avatar/outputs/svg-markup.ts +113 -0
  136. package/src/avatar/outputs/svg.ts +41 -0
  137. package/src/avatar/overlays.ts +128 -0
  138. package/src/avatar/render/body.ts +116 -0
  139. package/src/avatar/render/colours.ts +81 -0
  140. package/src/avatar/render/compose.ts +346 -0
  141. package/src/avatar/render/context.ts +117 -0
  142. package/src/avatar/render/eyes.ts +78 -0
  143. package/src/avatar/render/eyewear.ts +118 -0
  144. package/src/avatar/render/frame.ts +73 -0
  145. package/src/avatar/render/head.ts +81 -0
  146. package/src/avatar/render/mouth.ts +86 -0
  147. package/src/avatar/render/props.ts +91 -0
  148. package/src/avatar/render/types.ts +93 -0
  149. package/src/avatar/render/walker-parts.ts +124 -0
  150. package/src/avatar/render/walker.ts +239 -0
  151. package/src/avatar/scene.ts +119 -0
  152. package/src/avatar-pixi.ts +20 -0
  153. package/src/avatar-svg.ts +21 -0
  154. package/src/avatar-three.ts +18 -0
  155. package/src/avatar.ts +63 -0
  156. package/src/core/avatar/avatar-cache.ts +95 -0
  157. package/src/core/avatar/avatar-ref.ts +34 -0
  158. package/src/core/avatar/avatar-types.ts +43 -0
  159. package/src/core/avatar/hub-avatar.ts +308 -0
  160. package/src/core/connection.ts +201 -92
  161. package/src/core/errors.ts +15 -2
  162. package/src/core/game-data.ts +11 -9
  163. package/src/core/hub-economy.ts +47 -10
  164. package/src/core/hub-progress.ts +94 -30
  165. package/src/core/hub.ts +228 -7
  166. package/src/core/offline/cloud-saves.ts +62 -0
  167. package/src/core/offline/hub-kinds/avatar-kind.ts +42 -0
  168. package/src/core/offline/hub-kinds/daily-kind.ts +68 -0
  169. package/src/core/offline/hub-kinds/economy-kinds.ts +86 -0
  170. package/src/core/offline/hub-kinds/game-fields.ts +2 -0
  171. package/src/core/offline/hub-kinds/index.ts +52 -0
  172. package/src/core/offline/hub-kinds/legacy-ops.ts +37 -0
  173. package/src/core/offline/hub-kinds/progress-kinds.ts +165 -0
  174. package/src/core/offline/hub-kinds/resume-kind.ts +108 -0
  175. package/src/core/offline/hub-kinds/saved-kind.ts +93 -0
  176. package/src/core/offline/kind-adapters.ts +48 -0
  177. package/src/core/offline/local-inventory.ts +64 -0
  178. package/src/core/offline/local-store.ts +66 -23
  179. package/src/core/offline/offline-api.ts +65 -0
  180. package/src/core/offline/outbox-entry.ts +59 -0
  181. package/src/core/offline/outbox-kinds.ts +78 -0
  182. package/src/core/offline/outbox-merge.ts +39 -0
  183. package/src/core/offline/outbox-replayer.ts +141 -0
  184. package/src/core/offline/outbox-store.ts +85 -0
  185. package/src/core/offline/outbox.ts +232 -0
  186. package/src/core/offline/queue.ts +4 -49
  187. package/src/core/offline/replay-lease.ts +87 -0
  188. package/src/core/offline/replay-policy.ts +52 -0
  189. package/src/core/page-account.ts +121 -0
  190. package/src/core/page.ts +14 -1
  191. package/src/core/rest/rest-client.ts +14 -3
  192. package/src/core/rest/routes.gen.ts +144 -88
  193. package/src/core/resume/hub-resume.ts +286 -0
  194. package/src/core/resume/local-resume.ts +130 -0
  195. package/src/core/resume/resume-list.ts +65 -0
  196. package/src/core/resume/resume-request.ts +52 -0
  197. package/src/core/resume/resume-types.ts +64 -0
  198. package/src/core/saved/daily-saves.ts +196 -0
  199. package/src/core/saved/daily-seed.ts +16 -0
  200. package/src/core/saved/hub-saved.ts +221 -0
  201. package/src/core/saved/local-saved.ts +122 -0
  202. package/src/core/saved/saved-list.ts +129 -0
  203. package/src/core/saved/saved-open.ts +104 -0
  204. package/src/core/saved/saved-order.ts +49 -0
  205. package/src/core/saved/saved-types.ts +24 -0
  206. package/src/core/storage/json-guards.ts +6 -0
  207. package/src/core/turns/hub-turns.ts +161 -0
  208. package/src/core/turns/turn-game.ts +510 -0
  209. package/src/core/turns/your-turn-buzz.ts +69 -0
  210. package/src/core/version/client-version.gen.ts +2 -2
  211. package/src/daily/daily-system.ts +127 -12
  212. package/src/daily/page-daily.ts +2 -2
  213. package/src/daily/types.ts +49 -11
  214. package/src/doctor/checks.ts +12 -4
  215. package/src/doctor/cli.ts +8 -2
  216. package/src/doctor/embed-check.ts +61 -0
  217. package/src/doctor/hub-version-fetch.ts +43 -43
  218. package/src/doctor/world-check.ts +61 -0
  219. package/src/index.ts +20 -2
  220. package/src/input/focus-ring.ts +13 -0
  221. package/src/input/input-registry.ts +9 -2
  222. package/src/input/input-system.ts +14 -1
  223. package/src/input/modality.ts +122 -0
  224. package/src/input/nav-state.ts +13 -4
  225. package/src/input/navigator.ts +11 -0
  226. package/src/input/zero-config.ts +1 -14
  227. package/src/input.ts +4 -0
  228. package/src/mp.ts +1 -1
  229. package/src/overlay/overlay.ts +30 -4
  230. package/src/overlay/styles.ts +4 -3
  231. package/src/realtime/bridge.ts +5 -0
  232. package/src/realtime/multiplayer-forwarder.ts +13 -1
  233. package/src/realtime/multiplayer-types.ts +15 -1
  234. package/src/realtime/room-types.ts +28 -2
  235. package/src/realtime/rooms-forwarder.ts +27 -2
  236. package/src/realtime/runtime-api.ts +33 -8
  237. package/src/realtime/social-forwarder.ts +5 -0
  238. package/src/realtime/social-types.ts +8 -0
  239. package/src/realtime/types.ts +1 -0
  240. package/src/realtime/wire-types.ts +7 -0
  241. package/src/realtime/world-types.ts +20 -0
  242. package/src/rooms.ts +1 -1
  243. package/src/social.ts +1 -0
  244. package/src/turns-kit/check-rules.ts +281 -0
  245. package/src/turns-rules.ts +12 -0
  246. package/src/turns.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art.js","names":[],"sources":["../../src/avatar/art/beard.ts","../../src/avatar/art/glasses.ts","../../src/avatar/art/hair.ts","../../src/avatar/art/headwear.ts","../../src/avatar/art/index.ts"],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { d as StatusProp, i as Figure, n as BodyPose, r as Facing, s as LookLike } from "./types.js";
2
+ import { t as SceneNode } from "./scene.js";
3
+ //#region src/avatar/outputs/canvas-paint.d.ts
4
+ /** A 2D context from a canvas or an `OffscreenCanvas`. */
5
+ type Ctx2D = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
6
+ /** Makes a scratch canvas of a size (for the rim layer); `null` where none can be made. */
7
+ type LayerFactory = (width: number, height: number) => {
8
+ readonly canvas: CanvasImageSource;
9
+ readonly ctx: Ctx2D;
10
+ } | null;
11
+ /** Paints scene nodes in the context's current transform (rig units → pixels is the caller's job). */
12
+ declare function paintNodes(ctx: Ctx2D, nodes: readonly SceneNode[], layer?: LayerFactory): void;
13
+ //#endregion
14
+ //#region src/avatar/overlays.d.ts
15
+ /** An overlay: nodes around its anchor, plus its size for culling and layout. */
16
+ interface Overlay {
17
+ readonly nodes: readonly SceneNode[];
18
+ readonly width: number;
19
+ readonly height: number;
20
+ /** Its bounds around the anchor: x, y, width, height. */
21
+ readonly box: readonly [number, number, number, number];
22
+ }
23
+ /** A name tag: the username in a pill; friends get a green dot and a ★ (never colour alone), you get an accent outline. */
24
+ declare function nameTag(o: {
25
+ readonly name: string;
26
+ readonly friend?: boolean;
27
+ readonly you?: boolean;
28
+ readonly muted?: boolean;
29
+ }): Overlay;
30
+ /** A small game glyph for the activity bubble. */
31
+ type ActivityIcon = 'cards' | 'controller' | 'puzzle' | 'race';
32
+ /** "Playing Uno": the game's catalog title in a light bubble with a tail. */
33
+ declare function activityBubble(o: {
34
+ readonly game: string;
35
+ readonly icon?: ActivityIcon;
36
+ readonly verb?: string;
37
+ }): Overlay;
38
+ /** An emote popping above the head (the hub's quick-chat emotes). */
39
+ declare function emoteBubble(emote: string): Overlay;
40
+ /** Small state glyphs: `!`, `?`, `…` (typing), `zzz`, `♥`. */
41
+ type ReactionGlyph = '!' | '?' | '…' | 'zzz' | '♥';
42
+ /** A reaction glyph in a small bubble. */
43
+ declare function reactionBubble(glyph: ReactionGlyph): Overlay;
44
+ /** The hover or selection ring at the feet (`radius` in px). */
45
+ declare function selectionRing(o?: {
46
+ readonly radius?: number;
47
+ readonly selected?: boolean;
48
+ }): Overlay;
49
+ /** Every overlay builder, as the `overlays` namespace. */
50
+ declare const overlays: {
51
+ nameTag: typeof nameTag;
52
+ activityBubble: typeof activityBubble;
53
+ emoteBubble: typeof emoteBubble;
54
+ reactionBubble: typeof reactionBubble;
55
+ selectionRing: typeof selectionRing;
56
+ };
57
+ //#endregion
58
+ //#region src/avatar/atlas.d.ts
59
+ /** What to bake. */
60
+ interface AtlasKey {
61
+ readonly look: LookLike;
62
+ readonly facing?: Facing;
63
+ readonly body?: BodyPose;
64
+ /** 0 … 1 through the pose's cycle (walk: 8 steps, idle: 4). */
65
+ readonly phase?: number;
66
+ /** One of the baked faces (default `neutral`). */
67
+ readonly face?: 'neutral' | 'happy' | 'surprised';
68
+ readonly status?: StatusProp | null;
69
+ /** Bake at this many px per rig unit (default the atlas scale; far avatars use half). */
70
+ readonly scale?: number;
71
+ }
72
+ /** A baked frame: where it is on which page, and where the feet are inside it. */
73
+ interface AtlasFrame {
74
+ readonly page: number;
75
+ readonly source: CanvasImageSource;
76
+ readonly x: number;
77
+ readonly y: number;
78
+ readonly w: number;
79
+ readonly h: number;
80
+ /** The feet inside the frame, px from its top-left. */
81
+ readonly footX: number;
82
+ readonly footY: number;
83
+ /** Draw flipped horizontally (W, SW, NW). */
84
+ readonly mirror: boolean;
85
+ }
86
+ /** Atlas options. */
87
+ interface AtlasOptions {
88
+ /** Page edge in px (default 2048, 1024 on low-end devices). */
89
+ readonly pageSize?: number;
90
+ /** At most this many pages (default 4); the least recently used is recycled. */
91
+ readonly maxPages?: number;
92
+ /** Px per rig unit (default 0.32: a full character ≈ 64 px tall). */
93
+ readonly scale?: number;
94
+ /** The light rim for dark floors (default on). */
95
+ readonly rim?: boolean;
96
+ /** The figure every frame draws (default `blob`); worlds use `walker`. */
97
+ readonly figure?: Figure;
98
+ /** Makes page canvases (tests, workers); default an `OffscreenCanvas` or DOM canvas. */
99
+ readonly makeCanvas?: (size: number) => {
100
+ readonly canvas: CanvasImageSource;
101
+ readonly ctx: Ctx2D;
102
+ } | null;
103
+ }
104
+ /** The atlas. */
105
+ declare class AvatarAtlas {
106
+ readonly pageSize: number;
107
+ readonly scale: number;
108
+ private readonly maxPages;
109
+ private readonly rim;
110
+ private readonly figure;
111
+ private readonly box;
112
+ private readonly makeCanvas;
113
+ private readonly pages;
114
+ private readonly frames;
115
+ private readonly queue;
116
+ /** The last frame baked per look code (a stand-in while new frames bake). */
117
+ private readonly latestByLook;
118
+ private clock;
119
+ constructor(opts?: AtlasOptions);
120
+ /** The frame for a key: the baked frame, or `null` (queued for {@link bake}). */
121
+ frame(key: AtlasKey): AtlasFrame | null;
122
+ /** A baked frame whose page still holds it (touching the page for the LRU). */
123
+ private live;
124
+ /** Bakes queued frames for up to `budgetMs` (default 4 ms), oldest first. Returns how many were baked. */
125
+ bake(budgetMs?: number, now?: () => number): number;
126
+ /** Frames still waiting to bake. */
127
+ get pending(): number;
128
+ /** Every page's image (for texture uploads). */
129
+ get sources(): readonly CanvasImageSource[];
130
+ private keyOf;
131
+ private place;
132
+ private bakeOne;
133
+ }
134
+ /** A new atlas (one per scene; pages are shared by every avatar in it). */
135
+ declare function createAtlas(opts?: AtlasOptions): AvatarAtlas;
136
+ //#endregion
137
+ export { ActivityIcon as a, overlays as c, createAtlas as i, Ctx2D as l, AtlasOptions as n, Overlay as o, AvatarAtlas as r, ReactionGlyph as s, AtlasFrame as t, paintNodes as u };
138
+ //# sourceMappingURL=atlas.d.ts.map
@@ -0,0 +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;;;;;;;;;;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"}
@@ -0,0 +1,123 @@
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
+ import { t as SceneNode } from "./scene.js";
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
+ 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";
5
+ import { a as animator, i as Feeling, n as AnimatorOptions, o as REACTIONS, r as At, s as Reaction, t as Animator } from "./animator.js";
6
+ import { ACCESSORY_SLOTS, AccessorySlot, AvatarLook, AvatarLook as AvatarLook$1, CATALOG, CATALOG_REVISION as CATALOG_REVISION$1, CatalogEntry, CatalogEntry as CatalogEntry$1, DEFAULT_GEN, DecodedLook, FRAME_PRESETS, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookPart, LookProblem, PALETTES as PALETTES$1, PaletteName, PartCategory, PartCategory as PartCategory$1, Preset, RandomLookOptions, Rng, SECOND_COLOUR_CODE, canonicalLook, decodeLook as decodeLook$1, defaultLook as defaultLook$1, distinctLooks, encodeLook as encodeLook$1, isLookCode as isLookCode$1, isTinted, isValidLook, lookProblem, normaliseHex as normaliseHex$1, partById, partName as partName$1, partsOf as partsOf$1, randomLook, resolveColour as resolveColour$1, sameLook, seededRng } from "@diffenderfer-games/hub-contract/avatar";
7
+ //#endregion
8
+ //#region src/avatar/outputs/bitmap.d.ts
9
+ /** An `ImageBitmap` of the avatar (cached). */
10
+ declare function renderBitmap(like: LookLike, opts?: RenderOptions): Promise<ImageBitmap>;
11
+ /** A data URL: `svg` (synchronous inside, the default) or `png`. */
12
+ declare function renderDataUrl(like: LookLike, opts?: RenderOptions, type?: 'svg' | 'png'): Promise<string>;
13
+ //#endregion
14
+ //#region src/avatar/outputs/canvas.d.ts
15
+ /** Where and how big: the frame box's top-left corner in canvas pixels. */
16
+ interface CanvasPlacement extends RenderOptions {
17
+ readonly x: number;
18
+ readonly y: number;
19
+ }
20
+ /** Draws an avatar in a frame box whose top-left is (x, y), `size` px on its longer edge. */
21
+ declare function renderCanvas(ctx: Ctx2D, like: LookLike, opts: CanvasPlacement): void;
22
+ /** Draws the full character with its feet at (x, y), `scale` px per rig unit (a 100-unit head). */
23
+ declare function renderCanvasAt(ctx: Ctx2D, like: LookLike, opts: RenderOptions & {
24
+ readonly x: number;
25
+ readonly y: number;
26
+ readonly scale: number;
27
+ }): void;
28
+ //#endregion
29
+ //#region src/avatar/outputs/element.d.ts
30
+ /** A live avatar element. */
31
+ interface AvatarElement {
32
+ /** The element to insert (an inline-block `<span>` holding the `<svg>`). */
33
+ readonly el: HTMLElement;
34
+ /** Shows a new pose (an animator's `pose(t)`). */
35
+ update(pose: Pose): void;
36
+ /** Swaps the look (a player changed their avatar). */
37
+ setLook(like: LookLike): void;
38
+ /** Changes size, frame, facing or other options. */
39
+ setOptions(opts: RenderOptions): void;
40
+ }
41
+ /** A live avatar element; it upgrades itself from the silhouette when the art loads. */
42
+ declare function renderElement(like: LookLike, opts?: RenderOptions, doc?: Document): AvatarElement;
43
+ //#endregion
44
+ //#region src/avatar/layout.d.ts
45
+ /**
46
+ * The rig anchors for a look in a facing and pose: place name plates,
47
+ * bubbles, props and world objects with these, never with magic numbers.
48
+ * Rig units (a 100-unit head), feet at (0, 0), y down.
49
+ */
50
+ declare function layout(like: LookLike, opts?: Pick<RenderOptions, 'facing' | 'view' | 'pose' | 'figure'>): Readonly<Record<Anchor, Point>>;
51
+ /** The facing for a movement vector (screen space, y down), in 8 or 4 directions. */
52
+ declare function facingFrom(dx: number, dy: number, dirs?: 4 | 8): Facing;
53
+ /**
54
+ * A look direction from one screen point toward another, for card tables
55
+ * where each seat looks at the active player. `strength` scales it.
56
+ */
57
+ declare function lookToward(from: Point, to: Point, strength?: number): LookDir;
58
+ //#endregion
59
+ //#region src/avatar/outputs/custom-element.d.ts
60
+ /**
61
+ * Registers `<dg-avatar>` (or another tag). Safe to call more than once;
62
+ * a no-op outside a browser.
63
+ */
64
+ declare function defineAvatarElement(tag?: string): void;
65
+ //#endregion
66
+ //#region src/avatar/outputs/overlay-svg.d.ts
67
+ /** The overlay as an `<svg>` of its own size (decorative). */
68
+ declare function overlaySvg(overlay: Overlay, scale?: number): string;
69
+ /** Paints an overlay with its anchor at (x, y). */
70
+ declare function paintOverlay(ctx: Ctx2D, overlay: Overlay, atX: number, atY: number, scale?: number): void;
71
+ //#endregion
72
+ //#region src/avatar/catalog-view.d.ts
73
+ /** The catalog view. */
74
+ declare const catalog: {
75
+ /** The parts of a category in designer order (retired parts hidden). */
76
+ parts(category: PartCategory): readonly CatalogEntry[];
77
+ /** Every colour palette. */
78
+ palettes: Readonly<Record<import("@diffenderfer-games/hub-contract/avatar").PaletteName, readonly import("@diffenderfer-games/hub-contract/avatar").Preset[]>>;
79
+ /** The catalog revision this build knows. */
80
+ revision: number;
81
+ };
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.62;
86
+ /** How far below the seat a sitter's dangling feet reach (rig units): short legs swing clear of the floor. */
87
+ declare const WALKER_SEAT_DROP = 13;
88
+ //#endregion
89
+ //#region src/avatar/outputs/svg-markup.d.ts
90
+ /** A scene as SVG markup plus the `<defs>` it needs. */
91
+ declare function sceneToSvg(nodes: readonly SceneNode[], prefix: string): {
92
+ readonly body: string;
93
+ readonly defs: string;
94
+ };
95
+ //#endregion
96
+ //#region src/avatar/look-like.d.ts
97
+ /** The look a {@link LookLike} names, or `null` (hidden, malformed, missing). */
98
+ declare function toLook(like: LookLike): AvatarLook | null;
99
+ /** The code a {@link LookLike} names (`''` for none). */
100
+ declare function toCode(like: LookLike): string;
101
+ //#endregion
102
+ //#region src/avatar/colour.d.ts
103
+ /** OKLab lightness, 0 … 1. */
104
+ declare const lightness: (hex: string) => number;
105
+ /** Perceptual distance (OKLab ΔE × 100). */
106
+ declare function deltaE(a: string, b: string): number;
107
+ /** WCAG contrast ratio between two colours. */
108
+ declare function contrast(a: string, b: string): number;
109
+ declare namespace avatar_d_exports {
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 };
111
+ }
112
+ /** Every output: SVG markup, a live element, Canvas 2D, a bitmap or a data URL. */
113
+ declare const render: {
114
+ svg: typeof renderSvg;
115
+ element: typeof renderElement;
116
+ canvas: typeof renderCanvas;
117
+ canvasAt: typeof renderCanvasAt;
118
+ bitmap: typeof renderBitmap;
119
+ dataUrl: typeof renderDataUrl;
120
+ };
121
+ //#endregion
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 };
123
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +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/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;;;;;;;;;cCc7B;;cAGA;;;;iBCkFG,WAAW,gBAAgB,aAAa;WAA4B;WAAuB;;;;;iBChF3F,OAAO,MAAM,WAAW;;iBAiBxB,OAAO,MAAM;;;;cCmChB,YAAa;;iBAGV,OAAO,WAAW;;iBAwBlB,SAAS,WAAW;;;;;cCjDvB"}
@@ -1,4 +1,5 @@
1
- import { a as isObject, i as hasMethods, o as readField, r as _defineProperty, t as LEGACY_GLOBAL_NAMES } from "./globals.js";
1
+ import { a as readField, i as isObject, r as hasMethods, t as LEGACY_GLOBAL_NAMES } from "./globals.js";
2
+ import { t as _defineProperty } from "./defineProperty.js";
2
3
  //#region src/realtime/hub-link.ts
3
4
  /**
4
5
  * What the forwarders need from the core client: its error classes (so a
@@ -47,9 +48,11 @@ function hubLink() {
47
48
  //#region src/realtime/runtime-api.ts
48
49
  /**
49
50
  * The realtime feature version the runtime reports in {@link RealtimeApi.version}.
50
- * 2 added races; a client feature-detects newer additions with it.
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`); 6 added the world (`world`).
53
+ * A client feature-detects newer additions with it (or by the optional method).
51
54
  */
52
- const REALTIME_FEATURE_VERSION = 2;
55
+ const REALTIME_FEATURE_VERSION = 6;
53
56
  /**
54
57
  * The cross-bundle shape number of the `rt` page singleton (plan §4.4). The
55
58
  * runtime registers with it through `claimSingleton`; bump it only when the
@@ -58,6 +61,13 @@ const REALTIME_FEATURE_VERSION = 2;
58
61
  const REALTIME_SINGLETON_API = 1;
59
62
  /** The window event the runtime fires once it has installed itself. */
60
63
  const REALTIME_READY_EVENT = "hub:rt-ready";
64
+ /**
65
+ * The window event the runtime fires each time its socket says hello (it
66
+ * connected, or connected again after a drop), with `{ user: { id, look } }`
67
+ * from the hello snapshot. `hub.avatar` and `hub.userId()` follow it; changes
68
+ * sent while the socket was down are fetched again.
69
+ */
70
+ const SESSION_EVENT = "hub:session";
61
71
  /** The window event the menu fires when the runtime failed to load (its reason is on `window.__HUB_RT_ERROR__`). */
62
72
  const REALTIME_FAILED_EVENT = "hub:rt-failed";
63
73
  //#endregion
@@ -201,9 +211,13 @@ async function rethrowAsHubError(pending) {
201
211
  throw hubLink().toHubError(error);
202
212
  }
203
213
  }
214
+ /** The rejection for a feature the page's social runtime is too old to have (version 3 additions). */
215
+ function outdatedRuntime(feature) {
216
+ return hubLink().createOfflineError(`${feature} needs the newest hub. Reload the page to update.`);
217
+ }
204
218
  /** The page's one bridge (per client bundle). */
205
219
  const pageBridge = new RealtimeBridge();
206
220
  //#endregion
207
- export { readRuntimeFailure as a, REALTIME_READY_EVENT as c, linkRealtimeToHub as d, isRealtimeApi as i, REALTIME_SINGLETON_API as l, rethrowAsHubError as n, REALTIME_FAILED_EVENT as o, findRealtimeApi as r, REALTIME_FEATURE_VERSION as s, pageBridge as t, hubLink as u };
221
+ export { isRealtimeApi as a, REALTIME_FEATURE_VERSION as c, SESSION_EVENT as d, hubLink as f, findRealtimeApi as i, REALTIME_READY_EVENT as l, pageBridge as n, readRuntimeFailure as o, linkRealtimeToHub as p, rethrowAsHubError as r, REALTIME_FAILED_EVENT as s, outdatedRuntime as t, REALTIME_SINGLETON_API as u };
208
222
 
209
223
  //# sourceMappingURL=bridge.js.map
@@ -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":"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"}
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.1";
3
+ const HUB_CLIENT_VERSION = "2.0.0-next.11";
4
4
  //#endregion
5
5
  export { HUB_CLIENT_VERSION as t };
6
6