@diffenderfer-games/hub 2.0.0-next.0 → 2.0.0-next.10

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 (293) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/LICENSE +21 -21
  3. package/README.md +203 -139
  4. package/dist/auto.d.ts +8 -8
  5. package/dist/auto.js +3 -3
  6. package/dist/avatar-pixi.d.ts +165 -0
  7. package/dist/avatar-pixi.d.ts.map +1 -0
  8. package/dist/avatar-pixi.js +299 -0
  9. package/dist/avatar-pixi.js.map +1 -0
  10. package/dist/avatar-svg.d.ts +4 -0
  11. package/dist/avatar-svg.js +5 -0
  12. package/dist/avatar-three.d.ts +69 -0
  13. package/dist/avatar-three.d.ts.map +1 -0
  14. package/dist/avatar-three.js +49 -0
  15. package/dist/avatar-three.js.map +1 -0
  16. package/dist/avatar.d.ts +7 -0
  17. package/dist/avatar.js +500 -0
  18. package/dist/avatar.js.map +1 -0
  19. package/dist/daily.d.ts +2 -2
  20. package/dist/doctor/cli.mjs +119 -28
  21. package/dist/doctor/cli.mjs.map +1 -1
  22. package/dist/index.d.ts +8 -8
  23. package/dist/index.js +3 -3
  24. package/dist/input.d.ts +2 -2
  25. package/dist/input.js +2 -2
  26. package/dist/mp.d.ts +3 -3
  27. package/dist/race.d.ts +1 -1
  28. package/dist/rooms.d.ts +3 -3
  29. package/dist/rooms.js +1 -1
  30. package/dist/shared/animator.d.ts +104 -0
  31. package/dist/shared/animator.d.ts.map +1 -0
  32. package/dist/shared/art.js +1946 -0
  33. package/dist/shared/art.js.map +1 -0
  34. package/dist/shared/atlas.d.ts +138 -0
  35. package/dist/shared/atlas.d.ts.map +1 -0
  36. package/dist/shared/avatar.d.ts +123 -0
  37. package/dist/shared/avatar.d.ts.map +1 -0
  38. package/dist/shared/bridge.js +18 -4
  39. package/dist/shared/bridge.js.map +1 -1
  40. package/dist/shared/client-version.gen.js +1 -1
  41. package/dist/shared/daily.d.ts +145 -19
  42. package/dist/shared/daily.d.ts.map +1 -1
  43. package/dist/shared/daily.js +138 -25
  44. package/dist/shared/daily.js.map +1 -1
  45. package/dist/shared/defineProperty.js +39 -0
  46. package/dist/shared/describe.d.ts +32 -0
  47. package/dist/shared/describe.d.ts.map +1 -0
  48. package/dist/shared/describe.js +109 -0
  49. package/dist/shared/describe.js.map +1 -0
  50. package/dist/shared/globals.js +9 -42
  51. package/dist/shared/globals.js.map +1 -1
  52. package/dist/shared/index.d.ts +1122 -46
  53. package/dist/shared/index.d.ts.map +1 -1
  54. package/dist/shared/input.d.ts +74 -14
  55. package/dist/shared/input.d.ts.map +1 -1
  56. package/dist/shared/input.js +179 -25
  57. package/dist/shared/input.js.map +1 -1
  58. package/dist/shared/json-guards.js +48 -0
  59. package/dist/shared/json-guards.js.map +1 -0
  60. package/dist/shared/latest-state.js +1 -1
  61. package/dist/shared/live-canvas.js +62 -0
  62. package/dist/shared/live-canvas.js.map +1 -0
  63. package/dist/shared/mp.js +10 -2
  64. package/dist/shared/mp.js.map +1 -1
  65. package/dist/shared/multiplayer-types.d.ts +15 -2
  66. package/dist/shared/multiplayer-types.d.ts.map +1 -1
  67. package/dist/shared/overlays.js +800 -0
  68. package/dist/shared/overlays.js.map +1 -0
  69. package/dist/shared/page-stack.js +2 -1
  70. package/dist/shared/page-stack.js.map +1 -1
  71. package/dist/shared/pose-key.js +249 -0
  72. package/dist/shared/pose-key.js.map +1 -0
  73. package/dist/shared/race-types.d.ts +1 -1
  74. package/dist/shared/race.js +1 -1
  75. package/dist/shared/room-types.d.ts +28 -3
  76. package/dist/shared/room-types.d.ts.map +1 -1
  77. package/dist/shared/rooms.d.ts.map +1 -1
  78. package/dist/shared/rooms.js +23 -4
  79. package/dist/shared/rooms.js.map +1 -1
  80. package/dist/shared/runtime-opener.js +1 -1
  81. package/dist/shared/scene.d.ts +90 -0
  82. package/dist/shared/scene.d.ts.map +1 -0
  83. package/dist/shared/social.d.ts +90 -9
  84. package/dist/shared/social.d.ts.map +1 -1
  85. package/dist/shared/social.js +6 -1
  86. package/dist/shared/social.js.map +1 -1
  87. package/dist/shared/src.js +4563 -667
  88. package/dist/shared/src.js.map +1 -1
  89. package/dist/shared/svg-markup.js +2354 -0
  90. package/dist/shared/svg-markup.js.map +1 -0
  91. package/dist/shared/svg.js +27 -0
  92. package/dist/shared/svg.js.map +1 -0
  93. package/dist/shared/types.d.ts +174 -0
  94. package/dist/shared/types.d.ts.map +1 -0
  95. package/dist/shared/wire-types.d.ts +6 -2
  96. package/dist/shared/wire-types.d.ts.map +1 -1
  97. package/dist/social.d.ts +5 -5
  98. package/dist/social.js +2 -2
  99. package/dist/turns-rules.d.ts +2 -0
  100. package/dist/turns-rules.js +1 -0
  101. package/dist/turns.d.ts +61 -0
  102. package/dist/turns.d.ts.map +1 -0
  103. package/dist/turns.js +183 -0
  104. package/dist/turns.js.map +1 -0
  105. package/package.json +125 -89
  106. package/src/auto.ts +39 -39
  107. package/src/avatar/adapters/pixi-avatar.ts +73 -0
  108. package/src/avatar/adapters/pixi-crowd.ts +329 -0
  109. package/src/avatar/adapters/pixi-types.ts +84 -0
  110. package/src/avatar/adapters/three.ts +126 -0
  111. package/src/avatar/animator/animator.ts +285 -0
  112. package/src/avatar/animator/reactions.ts +44 -0
  113. package/src/avatar/animator/schedule.ts +73 -0
  114. package/src/avatar/art/beard.ts +49 -0
  115. package/src/avatar/art/glasses.ts +67 -0
  116. package/src/avatar/art/hair.ts +254 -0
  117. package/src/avatar/art/headwear.ts +75 -0
  118. package/src/avatar/art/index.ts +21 -0
  119. package/src/avatar/art/shape.ts +87 -0
  120. package/src/avatar/art-store.ts +36 -0
  121. package/src/avatar/atlas.ts +246 -0
  122. package/src/avatar/catalog-view.ts +14 -0
  123. package/src/avatar/colour.ts +109 -0
  124. package/src/avatar/describe.ts +79 -0
  125. package/src/avatar/face.ts +187 -0
  126. package/src/avatar/geom.ts +173 -0
  127. package/src/avatar/layout.ts +47 -0
  128. package/src/avatar/look-like.ts +52 -0
  129. package/src/avatar/outputs/bitmap.ts +75 -0
  130. package/src/avatar/outputs/canvas-paint.ts +177 -0
  131. package/src/avatar/outputs/canvas.ts +62 -0
  132. package/src/avatar/outputs/custom-element.ts +140 -0
  133. package/src/avatar/outputs/element.ts +58 -0
  134. package/src/avatar/outputs/live-canvas.ts +57 -0
  135. package/src/avatar/outputs/overlay-svg.ts +22 -0
  136. package/src/avatar/outputs/pose-key.ts +30 -0
  137. package/src/avatar/outputs/svg-markup.ts +113 -0
  138. package/src/avatar/outputs/svg.ts +41 -0
  139. package/src/avatar/overlays.ts +128 -0
  140. package/src/avatar/render/body.ts +116 -0
  141. package/src/avatar/render/colours.ts +81 -0
  142. package/src/avatar/render/compose.ts +320 -0
  143. package/src/avatar/render/context.ts +117 -0
  144. package/src/avatar/render/eyes.ts +78 -0
  145. package/src/avatar/render/eyewear.ts +118 -0
  146. package/src/avatar/render/frame.ts +73 -0
  147. package/src/avatar/render/head.ts +81 -0
  148. package/src/avatar/render/mouth.ts +86 -0
  149. package/src/avatar/render/props.ts +91 -0
  150. package/src/avatar/render/types.ts +93 -0
  151. package/src/avatar/render/walker-parts.ts +121 -0
  152. package/src/avatar/render/walker.ts +199 -0
  153. package/src/avatar/scene.ts +119 -0
  154. package/src/avatar-pixi.ts +20 -0
  155. package/src/avatar-svg.ts +21 -0
  156. package/src/avatar-three.ts +18 -0
  157. package/src/avatar.ts +63 -0
  158. package/src/core/avatar/avatar-cache.ts +95 -0
  159. package/src/core/avatar/avatar-ref.ts +34 -0
  160. package/src/core/avatar/avatar-types.ts +43 -0
  161. package/src/core/avatar/hub-avatar.ts +308 -0
  162. package/src/core/connection.ts +408 -299
  163. package/src/core/errors.ts +160 -147
  164. package/src/core/game-data.ts +40 -38
  165. package/src/core/hub-economy.ts +216 -179
  166. package/src/core/hub-progress.ts +269 -205
  167. package/src/core/hub.ts +352 -131
  168. package/src/core/menu-control.ts +61 -61
  169. package/src/core/offline/cloud-saves.ts +62 -0
  170. package/src/core/offline/events.ts +50 -50
  171. package/src/core/offline/favorites.ts +21 -21
  172. package/src/core/offline/hub-kinds/avatar-kind.ts +42 -0
  173. package/src/core/offline/hub-kinds/daily-kind.ts +68 -0
  174. package/src/core/offline/hub-kinds/economy-kinds.ts +86 -0
  175. package/src/core/offline/hub-kinds/game-fields.ts +2 -0
  176. package/src/core/offline/hub-kinds/index.ts +52 -0
  177. package/src/core/offline/hub-kinds/legacy-ops.ts +37 -0
  178. package/src/core/offline/hub-kinds/progress-kinds.ts +165 -0
  179. package/src/core/offline/hub-kinds/resume-kind.ts +108 -0
  180. package/src/core/offline/hub-kinds/saved-kind.ts +93 -0
  181. package/src/core/offline/kind-adapters.ts +48 -0
  182. package/src/core/offline/local-inventory.ts +64 -0
  183. package/src/core/offline/local-store.ts +304 -261
  184. package/src/core/offline/offline-api.ts +65 -0
  185. package/src/core/offline/outbox-entry.ts +59 -0
  186. package/src/core/offline/outbox-kinds.ts +78 -0
  187. package/src/core/offline/outbox-merge.ts +39 -0
  188. package/src/core/offline/outbox-replayer.ts +141 -0
  189. package/src/core/offline/outbox-store.ts +85 -0
  190. package/src/core/offline/outbox.ts +232 -0
  191. package/src/core/offline/queue.ts +126 -171
  192. package/src/core/offline/replay-lease.ts +87 -0
  193. package/src/core/offline/replay-policy.ts +52 -0
  194. package/src/core/page-account.ts +121 -0
  195. package/src/core/page.ts +87 -74
  196. package/src/core/rest/endpoint-types.ts +22 -22
  197. package/src/core/rest/rest-client.ts +163 -152
  198. package/src/core/rest/routes.gen.ts +144 -88
  199. package/src/core/resume/hub-resume.ts +286 -0
  200. package/src/core/resume/local-resume.ts +130 -0
  201. package/src/core/resume/resume-list.ts +65 -0
  202. package/src/core/resume/resume-request.ts +52 -0
  203. package/src/core/resume/resume-types.ts +64 -0
  204. package/src/core/saved/daily-saves.ts +196 -0
  205. package/src/core/saved/daily-seed.ts +16 -0
  206. package/src/core/saved/hub-saved.ts +221 -0
  207. package/src/core/saved/local-saved.ts +122 -0
  208. package/src/core/saved/saved-list.ts +129 -0
  209. package/src/core/saved/saved-open.ts +104 -0
  210. package/src/core/saved/saved-order.ts +49 -0
  211. package/src/core/saved/saved-types.ts +24 -0
  212. package/src/core/storage/json-guards.ts +80 -74
  213. package/src/core/storage/key-value.ts +66 -66
  214. package/src/core/ticket.ts +43 -43
  215. package/src/core/turns/hub-turns.ts +161 -0
  216. package/src/core/turns/turn-game.ts +510 -0
  217. package/src/core/turns/your-turn-buzz.ts +69 -0
  218. package/src/core/types.ts +134 -134
  219. package/src/core/version/client-version.gen.ts +2 -2
  220. package/src/core/version/hub-version.ts +62 -62
  221. package/src/core/version/semver.ts +97 -97
  222. package/src/daily/daily-system.ts +276 -161
  223. package/src/daily/page-daily.ts +36 -36
  224. package/src/daily/types.ts +105 -67
  225. package/src/daily.ts +10 -10
  226. package/src/doctor/checks.ts +86 -76
  227. package/src/doctor/cli.ts +101 -106
  228. package/src/doctor/hub-version-fetch.ts +43 -0
  229. package/src/doctor/tsconfig.json +12 -12
  230. package/src/doctor/world-check.ts +61 -0
  231. package/src/globals.ts +115 -110
  232. package/src/index.ts +68 -50
  233. package/src/input/device-state.ts +146 -146
  234. package/src/input/edges.ts +55 -55
  235. package/src/input/focus-ring.ts +13 -0
  236. package/src/input/gamepad.ts +61 -61
  237. package/src/input/input-events.ts +32 -32
  238. package/src/input/input-registry.ts +171 -164
  239. package/src/input/input-system.ts +406 -393
  240. package/src/input/legacy-controls.ts +64 -64
  241. package/src/input/modality.ts +122 -0
  242. package/src/input/nav-state.ts +200 -191
  243. package/src/input/navigator.ts +182 -171
  244. package/src/input/on-screen-controls.ts +101 -101
  245. package/src/input/page-control.ts +43 -43
  246. package/src/input/page-input.ts +193 -193
  247. package/src/input/player-remaps.ts +77 -77
  248. package/src/input/source-values.ts +116 -116
  249. package/src/input/spatial.ts +47 -47
  250. package/src/input/types.ts +331 -331
  251. package/src/input/zero-config.ts +164 -177
  252. package/src/input.ts +26 -22
  253. package/src/mp.ts +10 -10
  254. package/src/overlay/controls-panel.ts +163 -163
  255. package/src/overlay/dom.ts +46 -46
  256. package/src/overlay/layout-clusters.ts +162 -162
  257. package/src/overlay/layout-geometry.ts +136 -136
  258. package/src/overlay/layout.ts +203 -203
  259. package/src/overlay/listener-scope.ts +23 -23
  260. package/src/overlay/on-screen-keyboard.ts +137 -137
  261. package/src/overlay/overlay.ts +234 -208
  262. package/src/overlay/styles.ts +13 -12
  263. package/src/overlay/virtual-controls.ts +262 -262
  264. package/src/race.ts +10 -10
  265. package/src/realtime/bridge.ts +126 -121
  266. package/src/realtime/cross-bundle.ts +29 -29
  267. package/src/realtime/fallback-notice.ts +48 -48
  268. package/src/realtime/hub-link.ts +65 -65
  269. package/src/realtime/latest-state.ts +33 -33
  270. package/src/realtime/multiplayer-forwarder.ts +40 -28
  271. package/src/realtime/multiplayer-types.ts +66 -52
  272. package/src/realtime/page-runtime.ts +60 -60
  273. package/src/realtime/race-forwarder.ts +59 -59
  274. package/src/realtime/race-types.ts +132 -132
  275. package/src/realtime/room-types.ts +151 -125
  276. package/src/realtime/rooms-forwarder.ts +104 -79
  277. package/src/realtime/runtime-api.ts +74 -49
  278. package/src/realtime/runtime-opener.ts +61 -61
  279. package/src/realtime/social-forwarder.ts +77 -72
  280. package/src/realtime/social-types.ts +86 -78
  281. package/src/realtime/types.ts +54 -53
  282. package/src/realtime/wire-types.ts +79 -72
  283. package/src/realtime/world-types.ts +20 -0
  284. package/src/rooms.ts +10 -10
  285. package/src/social.ts +19 -18
  286. package/src/turns-kit/check-rules.ts +281 -0
  287. package/src/turns-rules.ts +12 -0
  288. package/src/turns.ts +14 -0
  289. package/src/types.ts +13 -13
  290. package/src/uistack/page-stack.ts +45 -45
  291. package/src/uistack/play-suspension.ts +82 -82
  292. package/src/uistack/types.ts +76 -76
  293. package/src/uistack/ui-stack.ts +144 -144
@@ -0,0 +1,109 @@
1
+ import { F as lightness, L 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
+ "glasses.owl": "big round glasses",
42
+ "glasses.cat-eye": "cat-eye glasses",
43
+ "glasses.half-rim": "half-rim glasses",
44
+ "glasses.aviator": "aviator glasses",
45
+ "glasses.sunglasses": "sunglasses",
46
+ "glasses.sport": "sport sunglasses",
47
+ "glasses.hearts": "heart glasses",
48
+ "glasses.monocle": "a monocle",
49
+ "headwear.hijab": "a hijab",
50
+ "headwear.headwrap": "a headwrap",
51
+ "headwear.beanie": "a beanie",
52
+ "headwear.cap": "a cap",
53
+ "face.freckles": "freckles",
54
+ "face.rosy": "rosy cheeks",
55
+ "ears.studs": "earrings",
56
+ "ears.hoops": "hoop earrings"
57
+ };
58
+ /** A colour word: the preset's name (`p:hair-dark-blond` → "dark blond"), else "light" or "dark". */
59
+ function colourWord(colour, prefix) {
60
+ if (findPreset(colour) && colour.startsWith(`p:${prefix}-`)) return colour.slice(prefix.length + 3).replace(/-/g, " ");
61
+ return lightness(resolveColour(colour)) > .6 ? "light" : "dark";
62
+ }
63
+ /** "Short curly blond hair, green eyes and freckles." */
64
+ function describeLook(look) {
65
+ const isCovered = look.accessories.some((a) => a.id === "headwear.hijab" || a.id === "headwear.headwrap");
66
+ const parts = [];
67
+ if (!isCovered) parts.push((HAIR_WORDS[partName(look.hair.style)] ?? "{c} hair").replace("{c}", colourWord(look.hair.colour, "hair")));
68
+ parts.push(`${colourWord(look.eyes.colour, "eye")} eyes`);
69
+ const beard = BEARD_WORDS[partName(look.facialHair.style)];
70
+ if (beard) parts.push(beard);
71
+ for (const accessory of look.accessories) {
72
+ const word = EXTRA_WORDS[accessory.id];
73
+ if (word) parts.push(word);
74
+ }
75
+ const text = parts.length > 1 ? `${parts.slice(0, -1).join(", ")} and ${parts.at(-1) ?? ""}` : parts.join("");
76
+ return `${text.charAt(0).toUpperCase()}${text.slice(1)}.`;
77
+ }
78
+ /** Alt text for any {@link LookLike} (`''` for none). */
79
+ function describe(like) {
80
+ const look = toLook(like);
81
+ return look ? describeLook(look) : "";
82
+ }
83
+ const TONES = [
84
+ "🏻",
85
+ "🏼",
86
+ "🏽",
87
+ "🏾",
88
+ "🏿"
89
+ ];
90
+ const HAIR_HINT = {
91
+ curly: "🦱",
92
+ coily: "🦱",
93
+ afro: "🦱",
94
+ bald: "🦲",
95
+ buzz: "🦲"
96
+ };
97
+ /** A person emoji with the nearest of the five skin tones and a hair hint where Unicode has one: `🧑🏽‍🦱`. */
98
+ function avatarEmoji(like) {
99
+ const look = toLook(like);
100
+ if (!look) return "👤";
101
+ const l = lightness(resolveColour(look.skin));
102
+ const tone = TONES[Math.max(0, Math.min(4, Math.round((.86 - l) / .09)))] ?? "";
103
+ const hint = HAIR_HINT[partName(look.hair.style)];
104
+ return `\u{1F9D1}${tone}${hint ? `‍${hint}` : ""}`;
105
+ }
106
+ //#endregion
107
+ export { describe as n, avatarEmoji as t };
108
+
109
+ //# 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,eAAe;CACrF,mBAAmB;CAAmB,oBAAoB;CAAoB,mBAAmB;CACjG,sBAAsB;CAAc,iBAAiB;CAAoB,kBAAkB;CAAiB,mBAAmB;CAC/H,kBAAkB;CAClB,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"}
@@ -12,46 +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
- //#endregion
54
- //#region src/globals.ts
55
15
  /** The v1 window names, kept as aliases. */
56
16
  const LEGACY_GLOBAL_NAMES = {
57
17
  input: "__HUB_INPUT__",
@@ -80,7 +40,14 @@ function claimSingleton(claim) {
80
40
  if (claim.onMismatch?.(registered) !== true) return claim.create();
81
41
  } else {
82
42
  const legacy = page[LEGACY_GLOBAL_NAMES[claim.name]];
83
- if (registered === void 0 && claim.isInstance(legacy)) return legacy;
43
+ if (registered === void 0 && claim.isInstance(legacy)) {
44
+ registry[claim.name] = {
45
+ version: "v1",
46
+ api: claim.api,
47
+ instance: legacy
48
+ };
49
+ return legacy;
50
+ }
84
51
  }
85
52
  const instance = claim.create();
86
53
  registry[claim.name] = {
@@ -92,6 +59,6 @@ function claimSingleton(claim) {
92
59
  return instance;
93
60
  }
94
61
  //#endregion
95
- export { isObject as a, hasMethods as i, claimSingleton as n, readField as o, _defineProperty as r, LEGACY_GLOBAL_NAMES as t };
62
+ export { readField as a, isObject as i, claimSingleton as n, hasMethods as r, LEGACY_GLOBAL_NAMES as t };
96
63
 
97
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKA,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,GAErD,OAAO;CAEX;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"}
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"}