@oyna360/lobby-sdk 0.1.0

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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -0
  3. package/dist/avatar-accessories.d.ts +16 -0
  4. package/dist/avatar-accessories.d.ts.map +1 -0
  5. package/dist/avatar-accessories.js +214 -0
  6. package/dist/avatar-accessories.js.map +1 -0
  7. package/dist/avatar-asset-manager.d.ts +54 -0
  8. package/dist/avatar-asset-manager.d.ts.map +1 -0
  9. package/dist/avatar-asset-manager.js +215 -0
  10. package/dist/avatar-asset-manager.js.map +1 -0
  11. package/dist/avatar-clips.d.ts +17 -0
  12. package/dist/avatar-clips.d.ts.map +1 -0
  13. package/dist/avatar-clips.js +47 -0
  14. package/dist/avatar-clips.js.map +1 -0
  15. package/dist/avatar-config.d.ts +4 -0
  16. package/dist/avatar-config.d.ts.map +1 -0
  17. package/dist/avatar-config.js +9 -0
  18. package/dist/avatar-config.js.map +1 -0
  19. package/dist/avatar-factory.d.ts +64 -0
  20. package/dist/avatar-factory.d.ts.map +1 -0
  21. package/dist/avatar-factory.js +464 -0
  22. package/dist/avatar-factory.js.map +1 -0
  23. package/dist/avatar-instance.d.ts +31 -0
  24. package/dist/avatar-instance.d.ts.map +1 -0
  25. package/dist/avatar-instance.js +56 -0
  26. package/dist/avatar-instance.js.map +1 -0
  27. package/dist/avatar-material-pipeline.d.ts +34 -0
  28. package/dist/avatar-material-pipeline.d.ts.map +1 -0
  29. package/dist/avatar-material-pipeline.js +580 -0
  30. package/dist/avatar-material-pipeline.js.map +1 -0
  31. package/dist/avatar-rig-builder.d.ts +74 -0
  32. package/dist/avatar-rig-builder.d.ts.map +1 -0
  33. package/dist/avatar-rig-builder.js +347 -0
  34. package/dist/avatar-rig-builder.js.map +1 -0
  35. package/dist/draco.d.ts +7 -0
  36. package/dist/draco.d.ts.map +1 -0
  37. package/dist/draco.js +82 -0
  38. package/dist/draco.js.map +1 -0
  39. package/dist/humanoid-animator.d.ts +35 -0
  40. package/dist/humanoid-animator.d.ts.map +1 -0
  41. package/dist/humanoid-animator.js +191 -0
  42. package/dist/humanoid-animator.js.map +1 -0
  43. package/dist/humanoid-bone-names.d.ts +35 -0
  44. package/dist/humanoid-bone-names.d.ts.map +1 -0
  45. package/dist/humanoid-bone-names.js +126 -0
  46. package/dist/humanoid-bone-names.js.map +1 -0
  47. package/dist/humanoid-locomotion.d.ts +101 -0
  48. package/dist/humanoid-locomotion.d.ts.map +1 -0
  49. package/dist/humanoid-locomotion.js +300 -0
  50. package/dist/humanoid-locomotion.js.map +1 -0
  51. package/dist/humanoid-rig.d.ts +51 -0
  52. package/dist/humanoid-rig.d.ts.map +1 -0
  53. package/dist/humanoid-rig.js +304 -0
  54. package/dist/humanoid-rig.js.map +1 -0
  55. package/dist/index.d.ts +60 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +42 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/lobby-chat-ui.d.ts +3 -0
  60. package/dist/lobby-chat-ui.d.ts.map +1 -0
  61. package/dist/lobby-chat-ui.js +258 -0
  62. package/dist/lobby-chat-ui.js.map +1 -0
  63. package/dist/lobby-colliders.d.ts +10 -0
  64. package/dist/lobby-colliders.d.ts.map +1 -0
  65. package/dist/lobby-colliders.js +225 -0
  66. package/dist/lobby-colliders.js.map +1 -0
  67. package/dist/lobby-connection-ui.d.ts +8 -0
  68. package/dist/lobby-connection-ui.d.ts.map +1 -0
  69. package/dist/lobby-connection-ui.js +68 -0
  70. package/dist/lobby-connection-ui.js.map +1 -0
  71. package/dist/lobby-debug.d.ts +50 -0
  72. package/dist/lobby-debug.d.ts.map +1 -0
  73. package/dist/lobby-debug.js +132 -0
  74. package/dist/lobby-debug.js.map +1 -0
  75. package/dist/lobby-font.d.ts +5 -0
  76. package/dist/lobby-font.d.ts.map +1 -0
  77. package/dist/lobby-font.js +35 -0
  78. package/dist/lobby-font.js.map +1 -0
  79. package/dist/lobby-music.d.ts +40 -0
  80. package/dist/lobby-music.d.ts.map +1 -0
  81. package/dist/lobby-music.js +250 -0
  82. package/dist/lobby-music.js.map +1 -0
  83. package/dist/lobby-orientation-ui.d.ts +10 -0
  84. package/dist/lobby-orientation-ui.d.ts.map +1 -0
  85. package/dist/lobby-orientation-ui.js +64 -0
  86. package/dist/lobby-orientation-ui.js.map +1 -0
  87. package/dist/lobby-perf-diag.d.ts +254 -0
  88. package/dist/lobby-perf-diag.d.ts.map +1 -0
  89. package/dist/lobby-perf-diag.js +775 -0
  90. package/dist/lobby-perf-diag.js.map +1 -0
  91. package/dist/lobby-plaza-diag.d.ts +103 -0
  92. package/dist/lobby-plaza-diag.d.ts.map +1 -0
  93. package/dist/lobby-plaza-diag.js +534 -0
  94. package/dist/lobby-plaza-diag.js.map +1 -0
  95. package/dist/lobby-presence-ui.d.ts +4 -0
  96. package/dist/lobby-presence-ui.d.ts.map +1 -0
  97. package/dist/lobby-presence-ui.js +89 -0
  98. package/dist/lobby-presence-ui.js.map +1 -0
  99. package/dist/lobby-real-device-diag.d.ts +119 -0
  100. package/dist/lobby-real-device-diag.d.ts.map +1 -0
  101. package/dist/lobby-real-device-diag.js +468 -0
  102. package/dist/lobby-real-device-diag.js.map +1 -0
  103. package/dist/lobby-spawn.d.ts +15 -0
  104. package/dist/lobby-spawn.d.ts.map +1 -0
  105. package/dist/lobby-spawn.js +18 -0
  106. package/dist/lobby-spawn.js.map +1 -0
  107. package/dist/lobby-ui-i18n.d.ts +11 -0
  108. package/dist/lobby-ui-i18n.d.ts.map +1 -0
  109. package/dist/lobby-ui-i18n.js +21 -0
  110. package/dist/lobby-ui-i18n.js.map +1 -0
  111. package/dist/lobby-voice-ui.d.ts +3 -0
  112. package/dist/lobby-voice-ui.d.ts.map +1 -0
  113. package/dist/lobby-voice-ui.js +105 -0
  114. package/dist/lobby-voice-ui.js.map +1 -0
  115. package/dist/local-player-controller.d.ts +80 -0
  116. package/dist/local-player-controller.d.ts.map +1 -0
  117. package/dist/local-player-controller.js +422 -0
  118. package/dist/local-player-controller.js.map +1 -0
  119. package/dist/name-tag.d.ts +3 -0
  120. package/dist/name-tag.d.ts.map +1 -0
  121. package/dist/name-tag.js +59 -0
  122. package/dist/name-tag.js.map +1 -0
  123. package/dist/network-client.d.ts +87 -0
  124. package/dist/network-client.d.ts.map +1 -0
  125. package/dist/network-client.js +182 -0
  126. package/dist/network-client.js.map +1 -0
  127. package/dist/platform-bridge.d.ts +17 -0
  128. package/dist/platform-bridge.d.ts.map +1 -0
  129. package/dist/platform-bridge.js +90 -0
  130. package/dist/platform-bridge.js.map +1 -0
  131. package/dist/platform-lobby.d.ts +176 -0
  132. package/dist/platform-lobby.d.ts.map +1 -0
  133. package/dist/platform-lobby.js +679 -0
  134. package/dist/platform-lobby.js.map +1 -0
  135. package/dist/platform-types.d.ts +56 -0
  136. package/dist/platform-types.d.ts.map +1 -0
  137. package/dist/platform-types.js +3 -0
  138. package/dist/platform-types.js.map +1 -0
  139. package/dist/player-label.d.ts +9 -0
  140. package/dist/player-label.d.ts.map +1 -0
  141. package/dist/player-label.js +14 -0
  142. package/dist/player-label.js.map +1 -0
  143. package/dist/playground/playground-layout.d.ts +14 -0
  144. package/dist/playground/playground-layout.d.ts.map +1 -0
  145. package/dist/playground/playground-layout.js +320 -0
  146. package/dist/playground/playground-layout.js.map +1 -0
  147. package/dist/playground/playground-system.d.ts +30 -0
  148. package/dist/playground/playground-system.d.ts.map +1 -0
  149. package/dist/playground/playground-system.js +202 -0
  150. package/dist/playground/playground-system.js.map +1 -0
  151. package/dist/plaza-layout.d.ts +30 -0
  152. package/dist/plaza-layout.d.ts.map +1 -0
  153. package/dist/plaza-layout.js +527 -0
  154. package/dist/plaza-layout.js.map +1 -0
  155. package/dist/plugins.d.ts +5 -0
  156. package/dist/plugins.d.ts.map +1 -0
  157. package/dist/plugins.js +26 -0
  158. package/dist/plugins.js.map +1 -0
  159. package/dist/protocol.d.ts +276 -0
  160. package/dist/protocol.d.ts.map +1 -0
  161. package/dist/protocol.js +107 -0
  162. package/dist/protocol.js.map +1 -0
  163. package/dist/quality.d.ts +39 -0
  164. package/dist/quality.d.ts.map +1 -0
  165. package/dist/quality.js +95 -0
  166. package/dist/quality.js.map +1 -0
  167. package/dist/remote-player-manager.d.ts +48 -0
  168. package/dist/remote-player-manager.d.ts.map +1 -0
  169. package/dist/remote-player-manager.js +339 -0
  170. package/dist/remote-player-manager.js.map +1 -0
  171. package/dist/scene-manager.d.ts +26 -0
  172. package/dist/scene-manager.d.ts.map +1 -0
  173. package/dist/scene-manager.js +169 -0
  174. package/dist/scene-manager.js.map +1 -0
  175. package/dist/spawn-utils.d.ts +8 -0
  176. package/dist/spawn-utils.d.ts.map +1 -0
  177. package/dist/spawn-utils.js +29 -0
  178. package/dist/spawn-utils.js.map +1 -0
  179. package/dist/starter-layout.d.ts +17 -0
  180. package/dist/starter-layout.d.ts.map +1 -0
  181. package/dist/starter-layout.js +102 -0
  182. package/dist/starter-layout.js.map +1 -0
  183. package/dist/third-person-camera.d.ts +35 -0
  184. package/dist/third-person-camera.d.ts.map +1 -0
  185. package/dist/third-person-camera.js +181 -0
  186. package/dist/third-person-camera.js.map +1 -0
  187. package/dist/types.d.ts +164 -0
  188. package/dist/types.d.ts.map +1 -0
  189. package/dist/types.js +2 -0
  190. package/dist/types.js.map +1 -0
  191. package/dist/voice-chat.d.ts +78 -0
  192. package/dist/voice-chat.d.ts.map +1 -0
  193. package/dist/voice-chat.js +321 -0
  194. package/dist/voice-chat.js.map +1 -0
  195. package/dist/yield-to-render.d.ts +3 -0
  196. package/dist/yield-to-render.d.ts.map +1 -0
  197. package/dist/yield-to-render.js +11 -0
  198. package/dist/yield-to-render.js.map +1 -0
  199. package/dist/zones.d.ts +36 -0
  200. package/dist/zones.d.ts.map +1 -0
  201. package/dist/zones.js +68 -0
  202. package/dist/zones.js.map +1 -0
  203. package/docs/00-overview.md +47 -0
  204. package/docs/01-connect.md +85 -0
  205. package/docs/02-github.md +43 -0
  206. package/docs/03-modes.md +70 -0
  207. package/docs/04-api.md +106 -0
  208. package/docs/05-features.md +55 -0
  209. package/docs/06-controls.md +34 -0
  210. package/docs/07-troubleshooting.md +39 -0
  211. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-lobby.js","sourceRoot":"","sources":["../src/platform-lobby.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /** Types the lobby SDK needs from the platform handshake. Games do not install @platform/types. */
2
+ export type AvatarPresetKind = 'procedural' | 'glb';
3
+ export interface SdkLobbyAvatar {
4
+ presetId: string;
5
+ presetKey: string;
6
+ presetKind: AvatarPresetKind;
7
+ customConfig: Record<string, unknown>;
8
+ }
9
+ export interface SdkUser {
10
+ id: string;
11
+ username: string;
12
+ displayName: string;
13
+ avatarUrl: string | null;
14
+ }
15
+ export interface SdkSession {
16
+ id: string;
17
+ token: string;
18
+ }
19
+ export interface SdkGameInfo {
20
+ slug: string;
21
+ name: string;
22
+ }
23
+ export interface SdkInitPayload {
24
+ session: SdkSession;
25
+ user: SdkUser;
26
+ game: SdkGameInfo;
27
+ avatar: SdkLobbyAvatar;
28
+ /** Shared GLB bases to register/preload so remote different-base joins stay warm. */
29
+ avatarBases?: Array<{
30
+ id: string;
31
+ glbUrl: string;
32
+ }>;
33
+ lobby?: {
34
+ wsUrl: string;
35
+ roomId: string;
36
+ strictRoom?: boolean;
37
+ };
38
+ }
39
+ export interface PlatformInitMessage {
40
+ type: 'platform:init';
41
+ version: string;
42
+ session: SdkSession;
43
+ user: SdkUser;
44
+ game: SdkGameInfo;
45
+ avatar: SdkLobbyAvatar;
46
+ avatarBases?: Array<{
47
+ id: string;
48
+ glbUrl: string;
49
+ }>;
50
+ lobby?: {
51
+ wsUrl: string;
52
+ roomId: string;
53
+ strictRoom?: boolean;
54
+ };
55
+ }
56
+ //# sourceMappingURL=platform-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-types.d.ts","sourceRoot":"","sources":["../src/platform-types.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,qFAAqF;IACrF,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH"}
@@ -0,0 +1,3 @@
1
+ /** Types the lobby SDK needs from the platform handshake. Games do not install @platform/types. */
2
+ export {};
3
+ //# sourceMappingURL=platform-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-types.js","sourceRoot":"","sources":["../src/platform-types.ts"],"names":[],"mappings":"AAAA,mGAAmG"}
@@ -0,0 +1,9 @@
1
+ export declare function formatPlayerHandle(_displayName?: string, username?: string): string;
2
+ /** 3D name tags: username only. */
3
+ export declare function formatAvatarTagLabel(_displayName?: string, username?: string): string;
4
+ export declare function formatPlayerLabel(displayName?: string, username?: string): string;
5
+ export declare function formatPlayerLabelParts(displayName?: string, username?: string): {
6
+ title: string;
7
+ subtitle: string | null;
8
+ };
9
+ //# sourceMappingURL=player-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-label.d.ts","sourceRoot":"","sources":["../src/player-label.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAE1H"}
@@ -0,0 +1,14 @@
1
+ export function formatPlayerHandle(_displayName, username) {
2
+ return (username?.trim() || 'بازیکن').slice(0, 24);
3
+ }
4
+ /** 3D name tags: username only. */
5
+ export function formatAvatarTagLabel(_displayName, username) {
6
+ return formatPlayerHandle(undefined, username);
7
+ }
8
+ export function formatPlayerLabel(displayName, username) {
9
+ return formatPlayerHandle(displayName, username);
10
+ }
11
+ export function formatPlayerLabelParts(displayName, username) {
12
+ return { title: formatAvatarTagLabel(displayName, username), subtitle: null };
13
+ }
14
+ //# sourceMappingURL=player-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-label.js","sourceRoot":"","sources":["../src/player-label.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,YAAqB,EAAE,QAAiB;IACzE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,oBAAoB,CAAC,YAAqB,EAAE,QAAiB;IAC3E,OAAO,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAoB,EAAE,QAAiB;IACvE,OAAO,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAoB,EAAE,QAAiB;IAC5E,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Scene } from '@babylonjs/core';
2
+ import type { PlatformLobby } from '../platform-lobby';
3
+ import type { Vector3 as Vec3 } from '../types';
4
+ /** Southwest grass — visible from the plaza, not on a portal spoke. */
5
+ export declare const SLIDE_ANCHOR: Vec3;
6
+ export declare const SLIDE_YAW: number;
7
+ export declare function slideLocalToWorld(local: Vec3): Vec3;
8
+ /** Local-space centerline of the chute (sit height). */
9
+ export declare function slideLocalPath(): Vec3[];
10
+ export declare function buildSlidePath(): Vec3[];
11
+ /** Next to the slide landing, out on the grass — clear of every room pad. */
12
+ export declare const TRAMPOLINE_ANCHOR: Vec3;
13
+ export declare function buildPlayground(scene: Scene, lobby: PlatformLobby): void;
14
+ //# sourceMappingURL=playground-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground-layout.d.ts","sourceRoot":"","sources":["../../src/playground/playground-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAIN,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhD,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAE,IAA+B,CAAC;AAC3D,eAAO,MAAM,SAAS,QAA6C,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAQnD;AAuBD,wDAAwD;AACxD,wBAAgB,cAAc,IAAI,IAAI,EAAE,CAWvC;AAED,wBAAgB,cAAc,IAAI,IAAI,EAAE,CAEvC;AAED,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,IAA+B,CAAC;AAEhE,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,QAGjE"}
@@ -0,0 +1,320 @@
1
+ import { Color3, DynamicTexture, Mesh, MeshBuilder, PointLight, StandardMaterial, TransformNode, Vector3, } from '@babylonjs/core';
2
+ import { lobbyCanvasFont } from '../lobby-font';
3
+ /** Southwest grass — visible from the plaza, not on a portal spoke. */
4
+ export const SLIDE_ANCHOR = { x: -22, y: 0, z: -12 };
5
+ export const SLIDE_YAW = Math.atan2(SLIDE_ANCHOR.x, SLIDE_ANCHOR.z);
6
+ export function slideLocalToWorld(local) {
7
+ const c = Math.cos(SLIDE_YAW);
8
+ const s = Math.sin(SLIDE_YAW);
9
+ return {
10
+ x: SLIDE_ANCHOR.x + local.x * c + local.z * s,
11
+ y: local.y,
12
+ z: SLIDE_ANCHOR.z - local.x * s + local.z * c,
13
+ };
14
+ }
15
+ function mat(scene, id, hex, emissive = 0, alpha = 1) {
16
+ const m = new StandardMaterial(id, scene);
17
+ m.diffuseColor = Color3.FromHexString(hex);
18
+ m.specularColor = new Color3(0.06, 0.06, 0.06);
19
+ if (emissive > 0)
20
+ m.emissiveColor = Color3.FromHexString(hex).scale(emissive);
21
+ if (alpha < 1) {
22
+ m.alpha = alpha;
23
+ m.transparencyMode = 2;
24
+ }
25
+ return m;
26
+ }
27
+ function bezier3(t, p0, p1, p2, p3) {
28
+ const u = 1 - t;
29
+ return p0
30
+ .scale(u * u * u)
31
+ .add(p1.scale(3 * u * u * t))
32
+ .add(p2.scale(3 * u * t * t))
33
+ .add(p3.scale(t * t * t));
34
+ }
35
+ /** Local-space centerline of the chute (sit height). */
36
+ export function slideLocalPath() {
37
+ const p0 = new Vector3(0, 4.18, 0.95);
38
+ const p1 = new Vector3(0, 3.55, 2.65);
39
+ const p2 = new Vector3(0, 1.15, 6.15);
40
+ const p3 = new Vector3(0, 0.1, 9.4);
41
+ const pts = [];
42
+ for (let i = 0; i <= 24; i++) {
43
+ const p = bezier3(i / 24, p0, p1, p2, p3);
44
+ pts.push({ x: p.x, y: p.y, z: p.z });
45
+ }
46
+ return pts;
47
+ }
48
+ export function buildSlidePath() {
49
+ return slideLocalPath().map(slideLocalToWorld);
50
+ }
51
+ /** Next to the slide landing, out on the grass — clear of every room pad. */
52
+ export const TRAMPOLINE_ANCHOR = { x: -31, y: 0, z: -11 };
53
+ export function buildPlayground(scene, lobby) {
54
+ buildSlide(scene, lobby);
55
+ buildTrampoline(scene, lobby);
56
+ }
57
+ function solidMesh(mesh, walkable = false) {
58
+ mesh.checkCollisions = true;
59
+ mesh.isPickable = walkable;
60
+ }
61
+ function buildSlide(scene, lobby) {
62
+ const root = new TransformNode('playground-slide-root', scene);
63
+ root.position = new Vector3(SLIDE_ANCHOR.x, 0, SLIDE_ANCHOR.z);
64
+ root.rotation.y = SLIDE_YAW;
65
+ const orange = mat(scene, 'pg-slide-orange-mat', '#f97316', 0.04);
66
+ const yellow = mat(scene, 'pg-slide-yellow-mat', '#fbbf24', 0.03);
67
+ const white = mat(scene, 'pg-slide-white-mat', '#f8fafc', 0.02);
68
+ const steel = mat(scene, 'pg-slide-steel-mat', '#334155', 0.01);
69
+ const deck = MeshBuilder.CreateBox('playground-slide-deck', { width: 2.45, height: 0.2, depth: 2.2 }, scene);
70
+ deck.parent = root;
71
+ deck.position.set(0, 4.1, 0);
72
+ deck.material = yellow;
73
+ solidMesh(deck, true);
74
+ const skirt = MeshBuilder.CreateBox('playground-slide-skirt', { width: 2.5, height: 0.55, depth: 2.25 }, scene);
75
+ skirt.parent = root;
76
+ skirt.position.set(0, 3.78, 0);
77
+ skirt.material = orange;
78
+ const stepCount = 10;
79
+ const run = 0.42;
80
+ const topZ = -1.05;
81
+ const bottomZ = topZ - (stepCount - 1) * run;
82
+ const topY = 4.12;
83
+ const bottomY = 0.06;
84
+ for (let i = 0; i < stepCount; i++) {
85
+ const t = i / (stepCount - 1);
86
+ const step = MeshBuilder.CreateBox(`playground-slide-step-${i}`, { width: 1.55, height: 0.12, depth: 0.4 }, scene);
87
+ step.parent = root;
88
+ step.position.set(0, bottomY + (topY - bottomY) * t, bottomZ + i * run);
89
+ step.material = i % 2 ? yellow : orange;
90
+ step.checkCollisions = false;
91
+ step.isPickable = false;
92
+ }
93
+ const ramp = createStairWalkRamp(scene, bottomY, topY, bottomZ, topZ);
94
+ ramp.parent = root;
95
+ solidMesh(ramp, true);
96
+ ramp.checkCollisions = false;
97
+ const stairRise = topY - bottomY;
98
+ const stairRun = topZ - bottomZ;
99
+ const stairHyp = Math.hypot(stairRun, stairRise);
100
+ const stairPitch = Math.atan2(stairRise, stairRun);
101
+ const railH = 0.72;
102
+ for (const side of [-1, 1]) {
103
+ const deckRail = MeshBuilder.CreateBox(`playground-slide-deck-rail-${side}`, { width: 0.1, height: railH, depth: 2.05 }, scene);
104
+ deckRail.parent = root;
105
+ deckRail.position.set(side * 1.18, 4.46, -0.05);
106
+ deckRail.material = white;
107
+ solidMesh(deckRail);
108
+ const chuteRail = MeshBuilder.CreateBox(`playground-slide-front-rail-${side}`, { width: 0.42, height: railH, depth: 0.1 }, scene);
109
+ chuteRail.parent = root;
110
+ chuteRail.position.set(side * 0.98, 4.46, 1.05);
111
+ chuteRail.material = white;
112
+ solidMesh(chuteRail);
113
+ const stairRail = MeshBuilder.CreateCylinder(`playground-slide-stair-rail-${side}`, { diameter: 0.09, height: stairHyp, tessellation: 8 }, scene);
114
+ stairRail.parent = root;
115
+ stairRail.position.set(side * 0.82, (bottomY + topY) / 2 + 0.42, (bottomZ + topZ) / 2);
116
+ stairRail.rotation.x = stairPitch;
117
+ stairRail.material = white;
118
+ solidMesh(stairRail);
119
+ }
120
+ const chute = createSlideChute(scene);
121
+ chute.parent = root;
122
+ chute.material = orange;
123
+ solidMesh(chute);
124
+ for (const side of [-1, 1]) {
125
+ const lip = MeshBuilder.CreateBox(`playground-slide-lip-${side}`, { width: 0.14, height: 0.28, depth: 0.55 }, scene);
126
+ lip.parent = root;
127
+ lip.position.set(side * 0.92, 4.28, 0.95);
128
+ lip.material = orange;
129
+ solidMesh(lip);
130
+ }
131
+ const legs = [
132
+ [-1.05, 2.05, -0.85, 4.1],
133
+ [1.05, 2.05, -0.85, 4.1],
134
+ [-1.05, 2.05, 0.85, 4.1],
135
+ [1.05, 2.05, 0.85, 4.1],
136
+ [0, 1.15, 4.35, 2.3],
137
+ [0, 0.55, 7.15, 1.1],
138
+ ];
139
+ legs.forEach(([x, y, z, h], i) => {
140
+ const leg = MeshBuilder.CreateCylinder(`playground-slide-leg-${i}`, { diameter: 0.16, height: h, tessellation: 8 }, scene);
141
+ leg.parent = root;
142
+ leg.position.set(x, y, z);
143
+ leg.material = steel;
144
+ solidMesh(leg);
145
+ });
146
+ const brace = MeshBuilder.CreateBox('playground-slide-brace', { width: 2.15, height: 0.08, depth: 0.1 }, scene);
147
+ brace.parent = root;
148
+ brace.position.set(0, 1.35, 0);
149
+ brace.material = steel;
150
+ const landing = MeshBuilder.CreateBox('playground-slide-landing', { width: 2.4, height: 0.1, depth: 1.7 }, scene);
151
+ landing.parent = root;
152
+ landing.position.set(0, 0.05, 9.55);
153
+ landing.material = yellow;
154
+ solidMesh(landing, true);
155
+ for (const [x, y, z] of [
156
+ [-1.15, 4.52, -1.0],
157
+ [1.15, 4.52, -1.0],
158
+ [-1.15, 4.52, 0.9],
159
+ [1.15, 4.52, 0.9],
160
+ ]) {
161
+ const bolt = MeshBuilder.CreateSphere(`playground-slide-bolt-${x}-${z}`, { diameter: 0.09, segments: 4 }, scene);
162
+ bolt.parent = root;
163
+ bolt.position.set(x, y, z);
164
+ bolt.material = steel;
165
+ }
166
+ const sign = playgroundLabel(scene, 'playground-slide-sign', 'سرسره!', '#ea580c');
167
+ sign.parent = root;
168
+ sign.position.set(0, 5.05, 0);
169
+ sign.billboardMode = Mesh.BILLBOARDMODE_Y;
170
+ const lip = slideLocalToWorld({ x: 0, y: 4.2, z: 0.35 });
171
+ lobby.addZone({
172
+ id: 'playground-slide-prompt',
173
+ bounds: {
174
+ min: { x: lip.x - 1.25, y: 3.4, z: lip.z - 1.25 },
175
+ max: { x: lip.x + 1.25, y: 5.6, z: lip.z + 1.25 },
176
+ },
177
+ });
178
+ }
179
+ function createStairWalkRamp(scene, bottomY, topY, bottomZ, topZ) {
180
+ const left = [];
181
+ const right = [];
182
+ const samples = 20;
183
+ for (let i = 0; i <= samples; i++) {
184
+ const t = i / samples;
185
+ const y = bottomY + (topY - bottomY) * t;
186
+ const z = bottomZ + (topZ - bottomZ) * t;
187
+ left.push(new Vector3(-0.78, y, z));
188
+ right.push(new Vector3(0.78, y, z));
189
+ }
190
+ const ramp = MeshBuilder.CreateRibbon('playground-slide-stair-ramp', { pathArray: [left, right], closeArray: false, closePath: false, updatable: false, sideOrientation: Mesh.DOUBLESIDE }, scene);
191
+ ramp.isVisible = false;
192
+ ramp.isPickable = true;
193
+ return ramp;
194
+ }
195
+ function createSlideChute(scene) {
196
+ const p0 = new Vector3(0, 4.12, 0.85);
197
+ const p1 = new Vector3(0, 3.5, 2.6);
198
+ const p2 = new Vector3(0, 1.1, 6.1);
199
+ const p3 = new Vector3(0, 0.06, 9.35);
200
+ const samples = 22;
201
+ const halfW = 0.88;
202
+ const wallH = 0.36;
203
+ const dip = 0.08;
204
+ const offsets = [
205
+ [-halfW, wallH],
206
+ [-halfW, 0.03],
207
+ [-halfW * 0.4, -dip],
208
+ [0, -dip],
209
+ [halfW * 0.4, -dip],
210
+ [halfW, 0.03],
211
+ [halfW, wallH],
212
+ ];
213
+ const pathArray = offsets.map(() => []);
214
+ for (let i = 0; i <= samples; i++) {
215
+ const t = i / samples;
216
+ const p = bezier3(t, p0, p1, p2, p3);
217
+ const q = bezier3(Math.min(1, t + 0.03), p0, p1, p2, p3);
218
+ const tangent = q.subtract(p);
219
+ if (tangent.lengthSquared() < 1e-8)
220
+ tangent.set(0, -0.2, 1);
221
+ tangent.normalize();
222
+ let right = Vector3.Cross(tangent, Vector3.Up());
223
+ if (right.lengthSquared() < 1e-6)
224
+ right = Vector3.Cross(tangent, new Vector3(1, 0, 0));
225
+ right.normalize();
226
+ const up = Vector3.Cross(right, tangent).normalize();
227
+ offsets.forEach(([u, v], k) => {
228
+ pathArray[k].push(p.add(right.scale(u)).add(up.scale(v)));
229
+ });
230
+ }
231
+ const chute = MeshBuilder.CreateRibbon('playground-slide-bed', { pathArray, closeArray: false, closePath: false, updatable: false, sideOrientation: Mesh.DOUBLESIDE }, scene);
232
+ return chute;
233
+ }
234
+ function playgroundLabel(scene, id, text, color) {
235
+ const plane = MeshBuilder.CreatePlane(id, { width: 2.2, height: 0.62 }, scene);
236
+ const tex = new DynamicTexture(`${id}-tex`, { width: 512, height: 128 }, scene, false);
237
+ tex.hasAlpha = true;
238
+ const ctx = tex.getContext();
239
+ ctx.clearRect(0, 0, 512, 128);
240
+ ctx.fillStyle = color;
241
+ ctx.beginPath();
242
+ const rx = 24;
243
+ const ry = 20;
244
+ const rw = 464;
245
+ const rh = 88;
246
+ const rr = 22;
247
+ ctx.moveTo(rx + rr, ry);
248
+ ctx.arcTo(rx + rw, ry, rx + rw, ry + rh, rr);
249
+ ctx.arcTo(rx + rw, ry + rh, rx, ry + rh, rr);
250
+ ctx.arcTo(rx, ry + rh, rx, ry, rr);
251
+ ctx.arcTo(rx, ry, rx + rw, ry, rr);
252
+ ctx.closePath();
253
+ ctx.fill();
254
+ ctx.direction = 'rtl';
255
+ ctx.textAlign = 'center';
256
+ ctx.textBaseline = 'middle';
257
+ ctx.fillStyle = '#ffffff';
258
+ ctx.font = lobbyCanvasFont(52);
259
+ ctx.fillText(text, 256, 64);
260
+ tex.update();
261
+ const m = new StandardMaterial(`${id}-mat`, scene);
262
+ m.diffuseTexture = tex;
263
+ m.opacityTexture = tex;
264
+ m.emissiveColor = Color3.White();
265
+ m.disableLighting = true;
266
+ m.useAlphaFromDiffuseTexture = true;
267
+ m.transparencyMode = 2;
268
+ m.backFaceCulling = false;
269
+ plane.material = m;
270
+ plane.isPickable = false;
271
+ plane.checkCollisions = false;
272
+ return plane;
273
+ }
274
+ function buildTrampoline(scene, lobby) {
275
+ const { x, z } = TRAMPOLINE_ANCHOR;
276
+ const root = new TransformNode('playground-trampoline-root', scene);
277
+ root.position = new Vector3(x, 0, z);
278
+ const base = MeshBuilder.CreateCylinder('playground-trampoline-base', { diameter: 4.6, height: 0.35, tessellation: 24 }, scene);
279
+ base.parent = root;
280
+ base.position.y = 0.18;
281
+ base.material = mat(scene, 'pg-tramp-base-mat', '#1e293b', 0.15);
282
+ const pad = MeshBuilder.CreateCylinder('playground-trampoline-pad', { diameter: 3.5, height: 0.22, tessellation: 32 }, scene);
283
+ pad.parent = root;
284
+ pad.position.y = 0.38;
285
+ pad.material = mat(scene, 'pg-tramp-pad-mat', '#22d3ee', 0.55);
286
+ const ring = MeshBuilder.CreateTorus('playground-trampoline-ring', { diameter: 3.9, thickness: 0.18, tessellation: 32 }, scene);
287
+ ring.parent = root;
288
+ ring.position.y = 0.42;
289
+ ring.rotation.x = Math.PI / 2;
290
+ ring.material = mat(scene, 'pg-tramp-ring-mat', '#a855f7', 0.85);
291
+ const innerRing = MeshBuilder.CreateTorus('playground-trampoline-ring-inner', { diameter: 2.4, thickness: 0.08, tessellation: 24 }, scene);
292
+ innerRing.parent = root;
293
+ innerRing.position.y = 0.44;
294
+ innerRing.rotation.x = Math.PI / 2;
295
+ innerRing.material = mat(scene, 'pg-tramp-ring-inner-mat', '#34d399', 0.75);
296
+ for (let i = 0; i < 6; i++) {
297
+ const a = (i / 6) * Math.PI * 2;
298
+ const orb = MeshBuilder.CreateSphere(`playground-trampoline-orb-${i}`, { diameter: 0.28, segments: 6 }, scene);
299
+ orb.parent = root;
300
+ orb.position.set(Math.sin(a) * 1.95, 0.55, Math.cos(a) * 1.95);
301
+ orb.material = mat(scene, `pg-tramp-orb-mat-${i}`, i % 2 ? '#f472b6' : '#60a5fa', 0.9);
302
+ }
303
+ const light = new PointLight('playground-trampoline-light', new Vector3(0, 2.2, 0), scene);
304
+ light.parent = root;
305
+ light.diffuse = Color3.FromHexString('#22d3ee');
306
+ light.intensity = 0.9;
307
+ light.range = 11;
308
+ const sign = playgroundLabel(scene, 'playground-trampoline-sign', 'ترامپولین!', '#06b6d4');
309
+ sign.parent = root;
310
+ sign.position.set(0, 2.35, 0);
311
+ sign.billboardMode = Mesh.BILLBOARDMODE_Y;
312
+ lobby.addZone({
313
+ id: 'playground-trampoline',
314
+ bounds: {
315
+ min: { x: x - 2.0, y: 0, z: z - 2.0 },
316
+ max: { x: x + 2.0, y: 4, z: z + 2.0 },
317
+ },
318
+ });
319
+ }
320
+ //# sourceMappingURL=playground-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground-layout.js","sourceRoot":"","sources":["../../src/playground/playground-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { PlatformLobby } from '../platform-lobby';
2
+ import type { LocalPlayerController } from '../local-player-controller';
3
+ import type { Vector3 as Vec3 } from '../types';
4
+ export declare class PlaygroundSystem {
5
+ private readonly lobby;
6
+ private slidePrompt;
7
+ private sliding;
8
+ private trampolineCooldown;
9
+ private trampGlow;
10
+ private trampPulse;
11
+ private ringMat;
12
+ private padMat;
13
+ private particleBurst;
14
+ private keyHandler;
15
+ private readonly slidePath;
16
+ private trampPad;
17
+ private trampOrbs;
18
+ constructor(lobby: PlatformLobby);
19
+ private setupParticles;
20
+ private setupZones;
21
+ private setupKeyboard;
22
+ private emitPrompt;
23
+ trySlide(): boolean;
24
+ update(dt: number, controller: LocalPlayerController, position: Vec3): void;
25
+ private burstParticles;
26
+ private animate;
27
+ dispose(): void;
28
+ }
29
+ export declare function attachPlayground(lobby: PlatformLobby): PlaygroundSystem;
30
+ //# sourceMappingURL=playground-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground-system.d.ts","sourceRoot":"","sources":["../../src/playground/playground-system.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,UAAU,CAAC;AA8BhD,qBAAa,gBAAgB;IAcf,OAAO,CAAC,QAAQ,CAAC,KAAK;IAblC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAsB;gBAEV,KAAK,EAAE,aAAa;IAkBjD,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAUlB,QAAQ,IAAI,OAAO;IAanB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI;IAkBpE,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,OAAO;IAyBf,OAAO;CAKR;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,oBAEpD"}