@dcl/hammurabi-server 1.0.0-17268386187.commit-b609629

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 (520) hide show
  1. package/CLAUDE.md +90 -0
  2. package/LICENSE +201 -0
  3. package/README.md +125 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +79 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/lib/babylon/avatar-rendering-system.d.ts +16 -0
  9. package/dist/lib/babylon/avatar-rendering-system.d.ts.map +1 -0
  10. package/dist/lib/babylon/avatar-rendering-system.js +96 -0
  11. package/dist/lib/babylon/avatar-rendering-system.js.map +1 -0
  12. package/dist/lib/babylon/avatars/AvatarRenderer.d.ts +40 -0
  13. package/dist/lib/babylon/avatars/AvatarRenderer.d.ts.map +1 -0
  14. package/dist/lib/babylon/avatars/AvatarRenderer.js +260 -0
  15. package/dist/lib/babylon/avatars/AvatarRenderer.js.map +1 -0
  16. package/dist/lib/babylon/avatars/CharacterController.d.ts +88 -0
  17. package/dist/lib/babylon/avatars/CharacterController.d.ts.map +1 -0
  18. package/dist/lib/babylon/avatars/CharacterController.js +463 -0
  19. package/dist/lib/babylon/avatars/CharacterController.js.map +1 -0
  20. package/dist/lib/babylon/avatars/adr-65/body.d.ts +4 -0
  21. package/dist/lib/babylon/avatars/adr-65/body.d.ts.map +1 -0
  22. package/dist/lib/babylon/avatars/adr-65/body.js +47 -0
  23. package/dist/lib/babylon/avatars/adr-65/body.js.map +1 -0
  24. package/dist/lib/babylon/avatars/adr-65/customizations.d.ts +11 -0
  25. package/dist/lib/babylon/avatars/adr-65/customizations.d.ts.map +1 -0
  26. package/dist/lib/babylon/avatars/adr-65/customizations.js +111 -0
  27. package/dist/lib/babylon/avatars/adr-65/customizations.js.map +1 -0
  28. package/dist/lib/babylon/avatars/adr-65/emote.d.ts +9 -0
  29. package/dist/lib/babylon/avatars/adr-65/emote.d.ts.map +1 -0
  30. package/dist/lib/babylon/avatars/adr-65/emote.js +46 -0
  31. package/dist/lib/babylon/avatars/adr-65/emote.js.map +1 -0
  32. package/dist/lib/babylon/avatars/adr-65/loader.d.ts +8 -0
  33. package/dist/lib/babylon/avatars/adr-65/loader.d.ts.map +1 -0
  34. package/dist/lib/babylon/avatars/adr-65/loader.js +54 -0
  35. package/dist/lib/babylon/avatars/adr-65/loader.js.map +1 -0
  36. package/dist/lib/babylon/avatars/adr-65/representation.d.ts +12 -0
  37. package/dist/lib/babylon/avatars/adr-65/representation.d.ts.map +1 -0
  38. package/dist/lib/babylon/avatars/adr-65/representation.js +77 -0
  39. package/dist/lib/babylon/avatars/adr-65/representation.js.map +1 -0
  40. package/dist/lib/babylon/avatars/adr-65/slots.d.ts +5 -0
  41. package/dist/lib/babylon/avatars/adr-65/slots.d.ts.map +1 -0
  42. package/dist/lib/babylon/avatars/adr-65/slots.js +62 -0
  43. package/dist/lib/babylon/avatars/adr-65/slots.js.map +1 -0
  44. package/dist/lib/babylon/avatars/adr-65/types.d.ts +17 -0
  45. package/dist/lib/babylon/avatars/adr-65/types.d.ts.map +1 -0
  46. package/dist/lib/babylon/avatars/adr-65/types.js +3 -0
  47. package/dist/lib/babylon/avatars/adr-65/types.js.map +1 -0
  48. package/dist/lib/babylon/avatars/adr-65/utils.d.ts +8 -0
  49. package/dist/lib/babylon/avatars/adr-65/utils.d.ts.map +1 -0
  50. package/dist/lib/babylon/avatars/adr-65/utils.js +29 -0
  51. package/dist/lib/babylon/avatars/adr-65/utils.js.map +1 -0
  52. package/dist/lib/babylon/avatars/adr-65/wearable.d.ts +7 -0
  53. package/dist/lib/babylon/avatars/adr-65/wearable.d.ts.map +1 -0
  54. package/dist/lib/babylon/avatars/adr-65/wearable.js +64 -0
  55. package/dist/lib/babylon/avatars/adr-65/wearable.js.map +1 -0
  56. package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts +12 -0
  57. package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts.map +1 -0
  58. package/dist/lib/babylon/avatars/avatar-asset-manager.js +31 -0
  59. package/dist/lib/babylon/avatars/avatar-asset-manager.js.map +1 -0
  60. package/dist/lib/babylon/avatars/loader.d.ts +6 -0
  61. package/dist/lib/babylon/avatars/loader.d.ts.map +1 -0
  62. package/dist/lib/babylon/avatars/loader.js +108 -0
  63. package/dist/lib/babylon/avatars/loader.js.map +1 -0
  64. package/dist/lib/babylon/avatars/urn.d.ts +2 -0
  65. package/dist/lib/babylon/avatars/urn.d.ts.map +1 -0
  66. package/dist/lib/babylon/avatars/urn.js +9 -0
  67. package/dist/lib/babylon/avatars/urn.js.map +1 -0
  68. package/dist/lib/babylon/index.d.ts +6 -0
  69. package/dist/lib/babylon/index.d.ts.map +1 -0
  70. package/dist/lib/babylon/index.js +85 -0
  71. package/dist/lib/babylon/index.js.map +1 -0
  72. package/dist/lib/babylon/input.d.ts +35 -0
  73. package/dist/lib/babylon/input.d.ts.map +1 -0
  74. package/dist/lib/babylon/input.js +137 -0
  75. package/dist/lib/babylon/input.js.map +1 -0
  76. package/dist/lib/babylon/scene/AssetManager.d.ts +19 -0
  77. package/dist/lib/babylon/scene/AssetManager.d.ts.map +1 -0
  78. package/dist/lib/babylon/scene/AssetManager.js +271 -0
  79. package/dist/lib/babylon/scene/AssetManager.js.map +1 -0
  80. package/dist/lib/babylon/scene/BabylonEntity.d.ts +84 -0
  81. package/dist/lib/babylon/scene/BabylonEntity.d.ts.map +1 -0
  82. package/dist/lib/babylon/scene/BabylonEntity.js +174 -0
  83. package/dist/lib/babylon/scene/BabylonEntity.js.map +1 -0
  84. package/dist/lib/babylon/scene/connect-context-rpc.d.ts +8 -0
  85. package/dist/lib/babylon/scene/connect-context-rpc.d.ts.map +1 -0
  86. package/dist/lib/babylon/scene/connect-context-rpc.js +210 -0
  87. package/dist/lib/babylon/scene/connect-context-rpc.js.map +1 -0
  88. package/dist/lib/babylon/scene/coordinates.d.ts +5 -0
  89. package/dist/lib/babylon/scene/coordinates.d.ts.map +1 -0
  90. package/dist/lib/babylon/scene/coordinates.js +17 -0
  91. package/dist/lib/babylon/scene/coordinates.js.map +1 -0
  92. package/dist/lib/babylon/scene/hot-reload.d.ts +9 -0
  93. package/dist/lib/babylon/scene/hot-reload.d.ts.map +1 -0
  94. package/dist/lib/babylon/scene/hot-reload.js +65 -0
  95. package/dist/lib/babylon/scene/hot-reload.js.map +1 -0
  96. package/dist/lib/babylon/scene/load.d.ts +54 -0
  97. package/dist/lib/babylon/scene/load.d.ts.map +1 -0
  98. package/dist/lib/babylon/scene/load.js +154 -0
  99. package/dist/lib/babylon/scene/load.js.map +1 -0
  100. package/dist/lib/babylon/scene/logic/apply-animations.d.ts +3 -0
  101. package/dist/lib/babylon/scene/logic/apply-animations.d.ts.map +1 -0
  102. package/dist/lib/babylon/scene/logic/apply-animations.js +50 -0
  103. package/dist/lib/babylon/scene/logic/apply-animations.js.map +1 -0
  104. package/dist/lib/babylon/scene/logic/billboards.d.ts +3 -0
  105. package/dist/lib/babylon/scene/logic/billboards.d.ts.map +1 -0
  106. package/dist/lib/babylon/scene/logic/billboards.js +12 -0
  107. package/dist/lib/babylon/scene/logic/billboards.js.map +1 -0
  108. package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts +7 -0
  109. package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts.map +1 -0
  110. package/dist/lib/babylon/scene/logic/camera-follows-player.js +35 -0
  111. package/dist/lib/babylon/scene/logic/camera-follows-player.js.map +1 -0
  112. package/dist/lib/babylon/scene/logic/colliders.d.ts +9 -0
  113. package/dist/lib/babylon/scene/logic/colliders.d.ts.map +1 -0
  114. package/dist/lib/babylon/scene/logic/colliders.js +79 -0
  115. package/dist/lib/babylon/scene/logic/colliders.js.map +1 -0
  116. package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts +12 -0
  117. package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts.map +1 -0
  118. package/dist/lib/babylon/scene/logic/cyclic-transform.js +67 -0
  119. package/dist/lib/babylon/scene/logic/cyclic-transform.js.map +1 -0
  120. package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts +27 -0
  121. package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts.map +1 -0
  122. package/dist/lib/babylon/scene/logic/delayed-interpolation.js +49 -0
  123. package/dist/lib/babylon/scene/logic/delayed-interpolation.js.map +1 -0
  124. package/dist/lib/babylon/scene/logic/easings.d.ts +7 -0
  125. package/dist/lib/babylon/scene/logic/easings.d.ts.map +1 -0
  126. package/dist/lib/babylon/scene/logic/easings.js +100 -0
  127. package/dist/lib/babylon/scene/logic/easings.js.map +1 -0
  128. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts +5 -0
  129. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts.map +1 -0
  130. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js +145 -0
  131. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js.map +1 -0
  132. package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts +10 -0
  133. package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts.map +1 -0
  134. package/dist/lib/babylon/scene/logic/local-avatar-scene.js +50 -0
  135. package/dist/lib/babylon/scene/logic/local-avatar-scene.js.map +1 -0
  136. package/dist/lib/babylon/scene/logic/pointer-events.d.ts +12 -0
  137. package/dist/lib/babylon/scene/logic/pointer-events.d.ts.map +1 -0
  138. package/dist/lib/babylon/scene/logic/pointer-events.js +199 -0
  139. package/dist/lib/babylon/scene/logic/pointer-events.js.map +1 -0
  140. package/dist/lib/babylon/scene/logic/raycasts.d.ts +21 -0
  141. package/dist/lib/babylon/scene/logic/raycasts.d.ts.map +1 -0
  142. package/dist/lib/babylon/scene/logic/raycasts.js +142 -0
  143. package/dist/lib/babylon/scene/logic/raycasts.js.map +1 -0
  144. package/dist/lib/babylon/scene/logic/static-entities.d.ts +18 -0
  145. package/dist/lib/babylon/scene/logic/static-entities.d.ts.map +1 -0
  146. package/dist/lib/babylon/scene/logic/static-entities.js +64 -0
  147. package/dist/lib/babylon/scene/logic/static-entities.js.map +1 -0
  148. package/dist/lib/babylon/scene/nodejs-runtime.d.ts +4 -0
  149. package/dist/lib/babylon/scene/nodejs-runtime.d.ts.map +1 -0
  150. package/dist/lib/babylon/scene/nodejs-runtime.js +100 -0
  151. package/dist/lib/babylon/scene/nodejs-runtime.js.map +1 -0
  152. package/dist/lib/babylon/scene/scene-context.d.ts +116 -0
  153. package/dist/lib/babylon/scene/scene-context.d.ts.map +1 -0
  154. package/dist/lib/babylon/scene/scene-context.js +492 -0
  155. package/dist/lib/babylon/scene/scene-context.js.map +1 -0
  156. package/dist/lib/babylon/scene/scene-culling.d.ts +6 -0
  157. package/dist/lib/babylon/scene/scene-culling.d.ts.map +1 -0
  158. package/dist/lib/babylon/scene/scene-culling.js +23 -0
  159. package/dist/lib/babylon/scene/scene-culling.js.map +1 -0
  160. package/dist/lib/babylon/scene/update-scheduler.d.ts +7 -0
  161. package/dist/lib/babylon/scene/update-scheduler.d.ts.map +1 -0
  162. package/dist/lib/babylon/scene/update-scheduler.js +40 -0
  163. package/dist/lib/babylon/scene/update-scheduler.js.map +1 -0
  164. package/dist/lib/babylon/time-based-animation.d.ts +13 -0
  165. package/dist/lib/babylon/time-based-animation.d.ts.map +1 -0
  166. package/dist/lib/babylon/time-based-animation.js +35 -0
  167. package/dist/lib/babylon/time-based-animation.js.map +1 -0
  168. package/dist/lib/babylon/visual/ambientLights.d.ts +6 -0
  169. package/dist/lib/babylon/visual/ambientLights.d.ts.map +1 -0
  170. package/dist/lib/babylon/visual/ambientLights.js +65 -0
  171. package/dist/lib/babylon/visual/ambientLights.js.map +1 -0
  172. package/dist/lib/babylon/visual/glowLayer.d.ts +6 -0
  173. package/dist/lib/babylon/visual/glowLayer.d.ts.map +1 -0
  174. package/dist/lib/babylon/visual/glowLayer.js +59 -0
  175. package/dist/lib/babylon/visual/glowLayer.js.map +1 -0
  176. package/dist/lib/babylon/visual/parcelOutline.d.ts +7 -0
  177. package/dist/lib/babylon/visual/parcelOutline.d.ts.map +1 -0
  178. package/dist/lib/babylon/visual/parcelOutline.js +88 -0
  179. package/dist/lib/babylon/visual/parcelOutline.js.map +1 -0
  180. package/dist/lib/babylon/visual/reticle.d.ts +3 -0
  181. package/dist/lib/babylon/visual/reticle.d.ts.map +1 -0
  182. package/dist/lib/babylon/visual/reticle.js +60 -0
  183. package/dist/lib/babylon/visual/reticle.js.map +1 -0
  184. package/dist/lib/babylon/visual/ui.d.ts +8 -0
  185. package/dist/lib/babylon/visual/ui.d.ts.map +1 -0
  186. package/dist/lib/babylon/visual/ui.js +54 -0
  187. package/dist/lib/babylon/visual/ui.js.map +1 -0
  188. package/dist/lib/common-runtime/game-loop.d.ts +4 -0
  189. package/dist/lib/common-runtime/game-loop.d.ts.map +1 -0
  190. package/dist/lib/common-runtime/game-loop.js +31 -0
  191. package/dist/lib/common-runtime/game-loop.js.map +1 -0
  192. package/dist/lib/common-runtime/modules.d.ts +244 -0
  193. package/dist/lib/common-runtime/modules.d.ts.map +1 -0
  194. package/dist/lib/common-runtime/modules.js +74 -0
  195. package/dist/lib/common-runtime/modules.js.map +1 -0
  196. package/dist/lib/common-runtime/startup.d.ts +8 -0
  197. package/dist/lib/common-runtime/startup.d.ts.map +1 -0
  198. package/dist/lib/common-runtime/startup.js +45 -0
  199. package/dist/lib/common-runtime/startup.js.map +1 -0
  200. package/dist/lib/common-runtime/types.d.ts +15 -0
  201. package/dist/lib/common-runtime/types.d.ts.map +1 -0
  202. package/dist/lib/common-runtime/types.js +7 -0
  203. package/dist/lib/common-runtime/types.js.map +1 -0
  204. package/dist/lib/decentraland/ByteBuffer/index.d.ts +75 -0
  205. package/dist/lib/decentraland/ByteBuffer/index.d.ts.map +1 -0
  206. package/dist/lib/decentraland/ByteBuffer/index.js +279 -0
  207. package/dist/lib/decentraland/ByteBuffer/index.js.map +1 -0
  208. package/dist/lib/decentraland/ByteBuffer/types.d.ts +109 -0
  209. package/dist/lib/decentraland/ByteBuffer/types.d.ts.map +1 -0
  210. package/dist/lib/decentraland/ByteBuffer/types.js +3 -0
  211. package/dist/lib/decentraland/ByteBuffer/types.js.map +1 -0
  212. package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts +45 -0
  213. package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts.map +1 -0
  214. package/dist/lib/decentraland/communications/CommsTransportWrapper.js +174 -0
  215. package/dist/lib/decentraland/communications/CommsTransportWrapper.js.map +1 -0
  216. package/dist/lib/decentraland/communications/avatar-communication-system.d.ts +18 -0
  217. package/dist/lib/decentraland/communications/avatar-communication-system.d.ts.map +1 -0
  218. package/dist/lib/decentraland/communications/avatar-communication-system.js +203 -0
  219. package/dist/lib/decentraland/communications/avatar-communication-system.js.map +1 -0
  220. package/dist/lib/decentraland/communications/connect-adapter.d.ts +5 -0
  221. package/dist/lib/decentraland/communications/connect-adapter.d.ts.map +1 -0
  222. package/dist/lib/decentraland/communications/connect-adapter.js +110 -0
  223. package/dist/lib/decentraland/communications/connect-adapter.js.map +1 -0
  224. package/dist/lib/decentraland/communications/connect-transport.d.ts +5 -0
  225. package/dist/lib/decentraland/communications/connect-transport.d.ts.map +1 -0
  226. package/dist/lib/decentraland/communications/connect-transport.js +32 -0
  227. package/dist/lib/decentraland/communications/connect-transport.js.map +1 -0
  228. package/dist/lib/decentraland/communications/networked-profile-system.d.ts +10 -0
  229. package/dist/lib/decentraland/communications/networked-profile-system.d.ts.map +1 -0
  230. package/dist/lib/decentraland/communications/networked-profile-system.js +73 -0
  231. package/dist/lib/decentraland/communications/networked-profile-system.js.map +1 -0
  232. package/dist/lib/decentraland/communications/player-entity-manager.d.ts +55 -0
  233. package/dist/lib/decentraland/communications/player-entity-manager.d.ts.map +1 -0
  234. package/dist/lib/decentraland/communications/player-entity-manager.js +167 -0
  235. package/dist/lib/decentraland/communications/player-entity-manager.js.map +1 -0
  236. package/dist/lib/decentraland/communications/position-report-system.d.ts +8 -0
  237. package/dist/lib/decentraland/communications/position-report-system.d.ts.map +1 -0
  238. package/dist/lib/decentraland/communications/position-report-system.js +51 -0
  239. package/dist/lib/decentraland/communications/position-report-system.js.map +1 -0
  240. package/dist/lib/decentraland/communications/realm-communications-system.d.ts +17 -0
  241. package/dist/lib/decentraland/communications/realm-communications-system.d.ts.map +1 -0
  242. package/dist/lib/decentraland/communications/realm-communications-system.js +111 -0
  243. package/dist/lib/decentraland/communications/realm-communications-system.js.map +1 -0
  244. package/dist/lib/decentraland/communications/scene-comms.d.ts +9 -0
  245. package/dist/lib/decentraland/communications/scene-comms.d.ts.map +1 -0
  246. package/dist/lib/decentraland/communications/scene-comms.js +20 -0
  247. package/dist/lib/decentraland/communications/scene-comms.js.map +1 -0
  248. package/dist/lib/decentraland/communications/transports/livekit.d.ts +27 -0
  249. package/dist/lib/decentraland/communications/transports/livekit.d.ts.map +1 -0
  250. package/dist/lib/decentraland/communications/transports/livekit.js +135 -0
  251. package/dist/lib/decentraland/communications/transports/livekit.js.map +1 -0
  252. package/dist/lib/decentraland/communications/transports/ws-room.d.ts +26 -0
  253. package/dist/lib/decentraland/communications/transports/ws-room.d.ts.map +1 -0
  254. package/dist/lib/decentraland/communications/transports/ws-room.js +235 -0
  255. package/dist/lib/decentraland/communications/transports/ws-room.js.map +1 -0
  256. package/dist/lib/decentraland/communications/types.d.ts +76 -0
  257. package/dist/lib/decentraland/communications/types.d.ts.map +1 -0
  258. package/dist/lib/decentraland/communications/types.js +6 -0
  259. package/dist/lib/decentraland/communications/types.js.map +1 -0
  260. package/dist/lib/decentraland/communications/ws-async-channel.d.ts +6 -0
  261. package/dist/lib/decentraland/communications/ws-async-channel.d.ts.map +1 -0
  262. package/dist/lib/decentraland/communications/ws-async-channel.js +52 -0
  263. package/dist/lib/decentraland/communications/ws-async-channel.js.map +1 -0
  264. package/dist/lib/decentraland/crdt-internal/components.d.ts +156 -0
  265. package/dist/lib/decentraland/crdt-internal/components.d.ts.map +1 -0
  266. package/dist/lib/decentraland/crdt-internal/components.js +8 -0
  267. package/dist/lib/decentraland/crdt-internal/components.js.map +1 -0
  268. package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts +45 -0
  269. package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts.map +1 -0
  270. package/dist/lib/decentraland/crdt-internal/conflict-resolution.js +49 -0
  271. package/dist/lib/decentraland/crdt-internal/conflict-resolution.js.map +1 -0
  272. package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts +6 -0
  273. package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts.map +1 -0
  274. package/dist/lib/decentraland/crdt-internal/dataCompare.js +34 -0
  275. package/dist/lib/decentraland/crdt-internal/dataCompare.js.map +1 -0
  276. package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts +22 -0
  277. package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts.map +1 -0
  278. package/dist/lib/decentraland/crdt-internal/generational-index-pool.js +91 -0
  279. package/dist/lib/decentraland/crdt-internal/generational-index-pool.js.map +1 -0
  280. package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts +10 -0
  281. package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts.map +1 -0
  282. package/dist/lib/decentraland/crdt-internal/grow-only-set.js +129 -0
  283. package/dist/lib/decentraland/crdt-internal/grow-only-set.js.map +1 -0
  284. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts +11 -0
  285. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts.map +1 -0
  286. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js +224 -0
  287. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js.map +1 -0
  288. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts +15 -0
  289. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts.map +1 -0
  290. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js +50 -0
  291. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js.map +1 -0
  292. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts +31 -0
  293. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts.map +1 -0
  294. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js +72 -0
  295. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js.map +1 -0
  296. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts +14 -0
  297. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts.map +1 -0
  298. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js +44 -0
  299. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js.map +1 -0
  300. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts +11 -0
  301. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts.map +1 -0
  302. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js +35 -0
  303. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js.map +1 -0
  304. package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts +8 -0
  305. package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts.map +1 -0
  306. package/dist/lib/decentraland/crdt-wire-protocol/index.js +24 -0
  307. package/dist/lib/decentraland/crdt-wire-protocol/index.js.map +1 -0
  308. package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts +17 -0
  309. package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts.map +1 -0
  310. package/dist/lib/decentraland/crdt-wire-protocol/message.js +49 -0
  311. package/dist/lib/decentraland/crdt-wire-protocol/message.js.map +1 -0
  312. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts +4 -0
  313. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts.map +1 -0
  314. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js +26 -0
  315. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js.map +1 -0
  316. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts +15 -0
  317. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts.map +1 -0
  318. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js +48 -0
  319. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js.map +1 -0
  320. package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts +80 -0
  321. package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts.map +1 -0
  322. package/dist/lib/decentraland/crdt-wire-protocol/types.js +15 -0
  323. package/dist/lib/decentraland/crdt-wire-protocol/types.js.map +1 -0
  324. package/dist/lib/decentraland/identifiers.d.ts +6 -0
  325. package/dist/lib/decentraland/identifiers.d.ts.map +1 -0
  326. package/dist/lib/decentraland/identifiers.js +22 -0
  327. package/dist/lib/decentraland/identifiers.js.map +1 -0
  328. package/dist/lib/decentraland/identity/avatar.d.ts +4 -0
  329. package/dist/lib/decentraland/identity/avatar.d.ts.map +1 -0
  330. package/dist/lib/decentraland/identity/avatar.js +57 -0
  331. package/dist/lib/decentraland/identity/avatar.js.map +1 -0
  332. package/dist/lib/decentraland/identity/login.d.ts +8 -0
  333. package/dist/lib/decentraland/identity/login.d.ts.map +1 -0
  334. package/dist/lib/decentraland/identity/login.js +121 -0
  335. package/dist/lib/decentraland/identity/login.js.map +1 -0
  336. package/dist/lib/decentraland/identity/signed-fetch.d.ts +17 -0
  337. package/dist/lib/decentraland/identity/signed-fetch.d.ts.map +1 -0
  338. package/dist/lib/decentraland/identity/signed-fetch.js +47 -0
  339. package/dist/lib/decentraland/identity/signed-fetch.js.map +1 -0
  340. package/dist/lib/decentraland/identity/types.d.ts +11 -0
  341. package/dist/lib/decentraland/identity/types.d.ts.map +1 -0
  342. package/dist/lib/decentraland/identity/types.js +3 -0
  343. package/dist/lib/decentraland/identity/types.js.map +1 -0
  344. package/dist/lib/decentraland/positions.d.ts +15 -0
  345. package/dist/lib/decentraland/positions.d.ts.map +1 -0
  346. package/dist/lib/decentraland/positions.js +40 -0
  347. package/dist/lib/decentraland/positions.js.map +1 -0
  348. package/dist/lib/decentraland/realm/resolution.d.ts +2 -0
  349. package/dist/lib/decentraland/realm/resolution.d.ts.map +1 -0
  350. package/dist/lib/decentraland/realm/resolution.js +39 -0
  351. package/dist/lib/decentraland/realm/resolution.js.map +1 -0
  352. package/dist/lib/decentraland/scene/content-server-entity.d.ts +34 -0
  353. package/dist/lib/decentraland/scene/content-server-entity.d.ts.map +1 -0
  354. package/dist/lib/decentraland/scene/content-server-entity.js +22 -0
  355. package/dist/lib/decentraland/scene/content-server-entity.js.map +1 -0
  356. package/dist/lib/decentraland/scene/spawn-points.d.ts +16 -0
  357. package/dist/lib/decentraland/scene/spawn-points.d.ts.map +1 -0
  358. package/dist/lib/decentraland/scene/spawn-points.js +78 -0
  359. package/dist/lib/decentraland/scene/spawn-points.js.map +1 -0
  360. package/dist/lib/decentraland/scene/types.d.ts +38 -0
  361. package/dist/lib/decentraland/scene/types.d.ts.map +1 -0
  362. package/dist/lib/decentraland/scene/types.js +3 -0
  363. package/dist/lib/decentraland/scene/types.js.map +1 -0
  364. package/dist/lib/decentraland/sdk-components/animator-component.d.ts +3 -0
  365. package/dist/lib/decentraland/sdk-components/animator-component.d.ts.map +1 -0
  366. package/dist/lib/decentraland/sdk-components/animator-component.js +12 -0
  367. package/dist/lib/decentraland/sdk-components/animator-component.js.map +1 -0
  368. package/dist/lib/decentraland/sdk-components/avatar-base.d.ts +5 -0
  369. package/dist/lib/decentraland/sdk-components/avatar-base.d.ts.map +1 -0
  370. package/dist/lib/decentraland/sdk-components/avatar-base.js +40 -0
  371. package/dist/lib/decentraland/sdk-components/avatar-base.js.map +1 -0
  372. package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts +5 -0
  373. package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts.map +1 -0
  374. package/dist/lib/decentraland/sdk-components/avatar-customizations.js +9 -0
  375. package/dist/lib/decentraland/sdk-components/avatar-customizations.js.map +1 -0
  376. package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts +5 -0
  377. package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts.map +1 -0
  378. package/dist/lib/decentraland/sdk-components/avatar-shape.js +33 -0
  379. package/dist/lib/decentraland/sdk-components/avatar-shape.js.map +1 -0
  380. package/dist/lib/decentraland/sdk-components/billboard-component.d.ts +3 -0
  381. package/dist/lib/decentraland/sdk-components/billboard-component.d.ts.map +1 -0
  382. package/dist/lib/decentraland/sdk-components/billboard-component.js +15 -0
  383. package/dist/lib/decentraland/sdk-components/billboard-component.js.map +1 -0
  384. package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts +3 -0
  385. package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts.map +1 -0
  386. package/dist/lib/decentraland/sdk-components/delayed-interpolation.js +15 -0
  387. package/dist/lib/decentraland/sdk-components/delayed-interpolation.js.map +1 -0
  388. package/dist/lib/decentraland/sdk-components/engine-info.d.ts +3 -0
  389. package/dist/lib/decentraland/sdk-components/engine-info.d.ts.map +1 -0
  390. package/dist/lib/decentraland/sdk-components/engine-info.js +7 -0
  391. package/dist/lib/decentraland/sdk-components/engine-info.js.map +1 -0
  392. package/dist/lib/decentraland/sdk-components/gltf-component.d.ts +3 -0
  393. package/dist/lib/decentraland/sdk-components/gltf-component.d.ts.map +1 -0
  394. package/dist/lib/decentraland/sdk-components/gltf-component.js +114 -0
  395. package/dist/lib/decentraland/sdk-components/gltf-component.js.map +1 -0
  396. package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts +3 -0
  397. package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts.map +1 -0
  398. package/dist/lib/decentraland/sdk-components/gltf-loading-state.js +7 -0
  399. package/dist/lib/decentraland/sdk-components/gltf-loading-state.js.map +1 -0
  400. package/dist/lib/decentraland/sdk-components/material-component.d.ts +5 -0
  401. package/dist/lib/decentraland/sdk-components/material-component.d.ts.map +1 -0
  402. package/dist/lib/decentraland/sdk-components/material-component.js +92 -0
  403. package/dist/lib/decentraland/sdk-components/material-component.js.map +1 -0
  404. package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts +3 -0
  405. package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts.map +1 -0
  406. package/dist/lib/decentraland/sdk-components/mesh-collider-component.js +37 -0
  407. package/dist/lib/decentraland/sdk-components/mesh-collider-component.js.map +1 -0
  408. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts +5 -0
  409. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts.map +1 -0
  410. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js +111 -0
  411. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js.map +1 -0
  412. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts +10 -0
  413. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts.map +1 -0
  414. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js +23 -0
  415. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js.map +1 -0
  416. package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts +3 -0
  417. package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts.map +1 -0
  418. package/dist/lib/decentraland/sdk-components/player-identity-data.js +7 -0
  419. package/dist/lib/decentraland/sdk-components/player-identity-data.js.map +1 -0
  420. package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts +3 -0
  421. package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts.map +1 -0
  422. package/dist/lib/decentraland/sdk-components/pointer-events-result.js +7 -0
  423. package/dist/lib/decentraland/sdk-components/pointer-events-result.js.map +1 -0
  424. package/dist/lib/decentraland/sdk-components/pointer-events.d.ts +3 -0
  425. package/dist/lib/decentraland/sdk-components/pointer-events.d.ts.map +1 -0
  426. package/dist/lib/decentraland/sdk-components/pointer-events.js +15 -0
  427. package/dist/lib/decentraland/sdk-components/pointer-events.js.map +1 -0
  428. package/dist/lib/decentraland/sdk-components/raycast-component.d.ts +5 -0
  429. package/dist/lib/decentraland/sdk-components/raycast-component.d.ts.map +1 -0
  430. package/dist/lib/decentraland/sdk-components/raycast-component.js +66 -0
  431. package/dist/lib/decentraland/sdk-components/raycast-component.js.map +1 -0
  432. package/dist/lib/decentraland/sdk-components/transform-component.d.ts +13 -0
  433. package/dist/lib/decentraland/sdk-components/transform-component.d.ts.map +1 -0
  434. package/dist/lib/decentraland/sdk-components/transform-component.js +84 -0
  435. package/dist/lib/decentraland/sdk-components/transform-component.js.map +1 -0
  436. package/dist/lib/decentraland/sdk-components/tween.d.ts +3 -0
  437. package/dist/lib/decentraland/sdk-components/tween.d.ts.map +1 -0
  438. package/dist/lib/decentraland/sdk-components/tween.js +15 -0
  439. package/dist/lib/decentraland/sdk-components/tween.js.map +1 -0
  440. package/dist/lib/decentraland/state.d.ts +24 -0
  441. package/dist/lib/decentraland/state.d.ts.map +1 -0
  442. package/dist/lib/decentraland/state.js +16 -0
  443. package/dist/lib/decentraland/state.js.map +1 -0
  444. package/dist/lib/decentraland/system.d.ts +7 -0
  445. package/dist/lib/decentraland/system.d.ts.map +1 -0
  446. package/dist/lib/decentraland/system.js +13 -0
  447. package/dist/lib/decentraland/system.js.map +1 -0
  448. package/dist/lib/decentraland/types.d.ts +9 -0
  449. package/dist/lib/decentraland/types.d.ts.map +1 -0
  450. package/dist/lib/decentraland/types.js +3 -0
  451. package/dist/lib/decentraland/types.js.map +1 -0
  452. package/dist/lib/decentraland/virtual-scene.d.ts +12 -0
  453. package/dist/lib/decentraland/virtual-scene.d.ts.map +1 -0
  454. package/dist/lib/decentraland/virtual-scene.js +3 -0
  455. package/dist/lib/decentraland/virtual-scene.js.map +1 -0
  456. package/dist/lib/engine-main.d.ts +8 -0
  457. package/dist/lib/engine-main.d.ts.map +1 -0
  458. package/dist/lib/engine-main.js +103 -0
  459. package/dist/lib/engine-main.js.map +1 -0
  460. package/dist/lib/misc/atom.d.ts +13 -0
  461. package/dist/lib/misc/atom.d.ts.map +1 -0
  462. package/dist/lib/misc/atom.js +66 -0
  463. package/dist/lib/misc/atom.js.map +1 -0
  464. package/dist/lib/misc/bit-operations.d.ts +3 -0
  465. package/dist/lib/misc/bit-operations.d.ts.map +1 -0
  466. package/dist/lib/misc/bit-operations.js +14 -0
  467. package/dist/lib/misc/bit-operations.js.map +1 -0
  468. package/dist/lib/misc/flat-fetch.d.ts +16 -0
  469. package/dist/lib/misc/flat-fetch.d.ts.map +1 -0
  470. package/dist/lib/misc/flat-fetch.js +26 -0
  471. package/dist/lib/misc/flat-fetch.js.map +1 -0
  472. package/dist/lib/misc/json.d.ts +3 -0
  473. package/dist/lib/misc/json.d.ts.map +1 -0
  474. package/dist/lib/misc/json.js +24 -0
  475. package/dist/lib/misc/json.js.map +1 -0
  476. package/dist/lib/misc/logger.d.ts +6 -0
  477. package/dist/lib/misc/logger.d.ts.map +1 -0
  478. package/dist/lib/misc/logger.js +24 -0
  479. package/dist/lib/misc/logger.js.map +1 -0
  480. package/dist/lib/misc/memoize.d.ts +2 -0
  481. package/dist/lib/misc/memoize.d.ts.map +1 -0
  482. package/dist/lib/misc/memoize.js +16 -0
  483. package/dist/lib/misc/memoize.js.map +1 -0
  484. package/dist/lib/misc/promises.d.ts +3 -0
  485. package/dist/lib/misc/promises.d.ts.map +1 -0
  486. package/dist/lib/misc/promises.js +14 -0
  487. package/dist/lib/misc/promises.js.map +1 -0
  488. package/dist/lib/polyfills/xmlhttprequest.d.ts +6 -0
  489. package/dist/lib/polyfills/xmlhttprequest.d.ts.map +1 -0
  490. package/dist/lib/polyfills/xmlhttprequest.js +127 -0
  491. package/dist/lib/polyfills/xmlhttprequest.js.map +1 -0
  492. package/dist/lib/quick-js/convert-handles.d.ts +14 -0
  493. package/dist/lib/quick-js/convert-handles.d.ts.map +1 -0
  494. package/dist/lib/quick-js/convert-handles.js +83 -0
  495. package/dist/lib/quick-js/convert-handles.js.map +1 -0
  496. package/dist/lib/quick-js/index.d.ts +12 -0
  497. package/dist/lib/quick-js/index.d.ts.map +1 -0
  498. package/dist/lib/quick-js/index.js +159 -0
  499. package/dist/lib/quick-js/index.js.map +1 -0
  500. package/dist/lib/quick-js/rpc-scene-runtime.d.ts +13 -0
  501. package/dist/lib/quick-js/rpc-scene-runtime.d.ts.map +1 -0
  502. package/dist/lib/quick-js/rpc-scene-runtime.js +32 -0
  503. package/dist/lib/quick-js/rpc-scene-runtime.js.map +1 -0
  504. package/dist/lib/quick-js/types.d.ts +35 -0
  505. package/dist/lib/quick-js/types.d.ts.map +1 -0
  506. package/dist/lib/quick-js/types.js +3 -0
  507. package/dist/lib/quick-js/types.js.map +1 -0
  508. package/dist/lib/web-worker-runtime/context.d.ts +12 -0
  509. package/dist/lib/web-worker-runtime/context.d.ts.map +1 -0
  510. package/dist/lib/web-worker-runtime/context.js +97 -0
  511. package/dist/lib/web-worker-runtime/context.js.map +1 -0
  512. package/dist/lib/web-worker-runtime/sandbox.d.ts +9 -0
  513. package/dist/lib/web-worker-runtime/sandbox.d.ts.map +1 -0
  514. package/dist/lib/web-worker-runtime/sandbox.js +98 -0
  515. package/dist/lib/web-worker-runtime/sandbox.js.map +1 -0
  516. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts +13 -0
  517. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts.map +1 -0
  518. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js +32 -0
  519. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js.map +1 -0
  520. package/package.json +73 -0
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+ // Based on https://github.com/ssatguru/BabylonJS-CharacterController
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ActionData = exports.CharacterController = exports.createCharacterControllerSystem = exports.movementSpeed = void 0;
5
+ const core_1 = require("@babylonjs/core");
6
+ const colliders_1 = require("../scene/logic/colliders");
7
+ const static_entities_1 = require("../scene/logic/static-entities");
8
+ const input_1 = require("../input");
9
+ exports.movementSpeed = {
10
+ WALK: 5,
11
+ RUN: 10
12
+ };
13
+ async function createCharacterControllerSystem(scene) {
14
+ // init the character controller and input system
15
+ const characterControllerSystem = new CharacterController(scene);
16
+ // the height of steps which the player can climb
17
+ characterControllerSystem.stepOffset = 0.3;
18
+ // the minimum and maximum slope the player can go up
19
+ // between the two the player will start sliding down if it stops
20
+ characterControllerSystem.setSlopeLimit(30, 60);
21
+ (0, input_1.initKeyboard)(scene, characterControllerSystem);
22
+ // Skip crosshair in headless mode - requires canvas context
23
+ return characterControllerSystem;
24
+ }
25
+ exports.createCharacterControllerSystem = createCharacterControllerSystem;
26
+ class CharacterController {
27
+ constructor(scene) {
28
+ this.scene = scene;
29
+ this.gravity = 9.8;
30
+ // slopeLimit in degrees
31
+ this.minSlopeLimit = 30;
32
+ this.maxSlopeLimit = 45;
33
+ // slopeLimit in radians
34
+ this.sl1 = (Math.PI * this.minSlopeLimit) / 180;
35
+ this.sl2 = (Math.PI * this.maxSlopeLimit) / 180;
36
+ /**
37
+ * The av will step up a stair only if it is closer to the ground than the indicated value.
38
+ * Default value is 0.25 m
39
+ */
40
+ this.stepOffset = 0.25;
41
+ // total amount by which the av has moved up
42
+ this.vMoveTot = 0;
43
+ // position of av when it started moving up
44
+ this.vMovStartPos = core_1.Vector3.Zero();
45
+ this.animationStartPosition = core_1.Vector3.Zero();
46
+ this.grounded = false;
47
+ // distance by which AV would move down if in freefall
48
+ this.freeFallDist = 0;
49
+ this.inFreeFall = false;
50
+ this.moveVector = new core_1.Vector3();
51
+ // verical position of AV when it is about to start a jump
52
+ this.jumpStartPosY = 0;
53
+ // for how long the AV has been in the jump
54
+ this.jumpTime = 0;
55
+ //for how long has the av been falling while moving
56
+ this.movFallTime = 0;
57
+ //for how long has the av been falling while idle (not moving)
58
+ this.idleFallTime = 0;
59
+ this.groundFrameCount = 0;
60
+ this.groundFrameMax = 10;
61
+ this.savedCameraCollision = true;
62
+ this.inFirstPerson = false;
63
+ this.capsule = (0, core_1.CreateCapsule)("player", { height: static_entities_1.PLAYER_HEIGHT, radius: 0.4 }, scene);
64
+ this.capsule.material = (0, colliders_1.colliderMaterial)(scene);
65
+ this.camera = new core_1.ArcRotateCamera("3rd person camera", -Math.PI / 2, Math.PI / 2.5, 15, new core_1.Vector3(0, 0, 0), this.scene);
66
+ scene.activeCamera = this.camera;
67
+ //standard camera setting
68
+ this.camera.wheelPrecision = 15;
69
+ this.camera.checkCollisions = true;
70
+ //make sure the keyboard keys controlling camera are different from those controlling player
71
+ //here we will not use any keyboard keys to control camera
72
+ this.camera.keysLeft = [];
73
+ this.camera.keysRight = [];
74
+ this.camera.keysUp = [];
75
+ this.camera.keysDown = [];
76
+ // how close can the camera come to player
77
+ this.camera.lowerRadiusLimit = 0.5;
78
+ // how far can the camera go from the player
79
+ this.camera.upperRadiusLimit = 20;
80
+ this.camera.radius = 8;
81
+ // Skip attachControl() in headless mode - not needed
82
+ this.camera.inertia = 0.6;
83
+ this.camera.speed = 0.7;
84
+ this.camera.fov = Math.PI / 2;
85
+ this.camera.minZ = 0.1; // near plane
86
+ this.camera.collisionRadius.setAll(this.camera.minZ);
87
+ this.savedCameraCollision = this.camera.checkCollisions;
88
+ this.act = new _Action();
89
+ this.act.reset();
90
+ this.movFallTime = 0;
91
+ //first time we enter render loop, delta time is zero
92
+ this.idleFallTime = 0.001;
93
+ this.grounded = false;
94
+ this.updateTargetValue();
95
+ }
96
+ setSlopeLimit(minSlopeLimit, maxSlopeLimit) {
97
+ this.minSlopeLimit = minSlopeLimit;
98
+ this.maxSlopeLimit = maxSlopeLimit;
99
+ this.sl1 = (Math.PI * this.minSlopeLimit) / 180;
100
+ this.sl2 = (Math.PI * this.maxSlopeLimit) / 180;
101
+ }
102
+ update() {
103
+ this.animationStartPosition.copyFrom(this.capsule.position);
104
+ const dt = this.scene.getEngine().getDeltaTime() / 1000;
105
+ if (this.act.jump && !this.inFreeFall) {
106
+ this.grounded = false;
107
+ this.idleFallTime = 0;
108
+ this.doJump(dt);
109
+ }
110
+ else if (this.anyMovement() || this.inFreeFall) {
111
+ this.grounded = false;
112
+ this.idleFallTime = 0;
113
+ this.doMove(dt);
114
+ }
115
+ else if (!this.inFreeFall) {
116
+ this.doIdle(dt);
117
+ }
118
+ // prevent precision errors with huge delta times and falling to the void
119
+ if (this.capsule.position.y < -10)
120
+ this.capsule.position.y = 10;
121
+ this.updateTargetValue();
122
+ return;
123
+ }
124
+ doJump(dt) {
125
+ if (this.jumpTime === 0) {
126
+ this.jumpStartPosY = this.capsule.position.y;
127
+ }
128
+ this.jumpTime = this.jumpTime + dt;
129
+ const jumpDist = this.calcJumpDist(exports.movementSpeed.WALK, dt);
130
+ this.capsule.rotation.y = (3 * Math.PI) / 2 - this.camera.alpha;
131
+ this.calculateMovementVector(dt);
132
+ this.moveVector.y = jumpDist;
133
+ // moveWithCollision only seems to happen if length of displacment is atleast 0.001
134
+ this.capsule.moveWithCollisions(this.moveVector);
135
+ if (jumpDist < 0) {
136
+ // this.avatar.ellipsoid.y=this._ellipsoid.y;
137
+ // check if going up a slope or back on flat ground
138
+ if (this.capsule.position.y > this.animationStartPosition.y ||
139
+ (this.capsule.position.y === this.animationStartPosition.y && this.moveVector.length() > 0.001)) {
140
+ this.endJump();
141
+ }
142
+ else if (this.capsule.position.y < this.jumpStartPosY) {
143
+ // the avatar is below the point from where it started the jump
144
+ // so it is either in free fall or is sliding along a downward slope
145
+ //
146
+ // if the actual displacemnt is same as the desired displacement then AV is in freefall
147
+ // else it is on a slope
148
+ const actDisp = this.capsule.position.subtract(this.animationStartPosition);
149
+ if (!areVectorsEqual(actDisp, this.moveVector, 0.001)) {
150
+ // AV is on slope
151
+ // Should AV continue to slide or stop?
152
+ // if slope is less steeper than acceptable then stop else slide
153
+ if (verticalSlope(actDisp) <= this.sl1) {
154
+ this.endJump();
155
+ }
156
+ }
157
+ else {
158
+ return 'falling';
159
+ }
160
+ }
161
+ }
162
+ return 'jumping';
163
+ }
164
+ calcJumpDist(speed, dt) {
165
+ // up velocity at the begining of the lastt frame (v=u+at)
166
+ let js = speed - this.gravity * this.jumpTime;
167
+ // distance travelled up since last frame to this frame (s=ut+1/2*at^2)
168
+ let jumpDist = js * dt - 0.5 * this.gravity * dt * dt;
169
+ return jumpDist;
170
+ }
171
+ /**
172
+ * does cleanup at the end of a jump
173
+ */
174
+ endJump() {
175
+ this.act.jump = false;
176
+ this.jumpTime = 0;
177
+ }
178
+ calculateMovementVector(dt) {
179
+ let moving = false;
180
+ // first get the direction of the movement in 2D x,z
181
+ const direction = core_1.Vector3.Zero();
182
+ let amount = 0;
183
+ if (this.act.stepLeft) {
184
+ direction.x -= 1;
185
+ amount++;
186
+ }
187
+ if (this.act.stepRight) {
188
+ direction.x += 1;
189
+ amount++;
190
+ }
191
+ if (this.act.walk) {
192
+ direction.z += 1;
193
+ amount++;
194
+ }
195
+ if (this.act.walkback) {
196
+ direction.z -= 1;
197
+ amount++;
198
+ }
199
+ if (amount) {
200
+ direction.normalize();
201
+ // then apply the camera rotation to this direction and place result into this.moveVector
202
+ direction.applyRotationQuaternionToRef(this.camera.absoluteRotation, this.moveVector);
203
+ // then apply the speed to the movement vector
204
+ const speed = this.act.speedMod ? exports.movementSpeed.RUN : exports.movementSpeed.WALK;
205
+ this.moveVector.scaleInPlace(speed * dt);
206
+ // finally adjust the Y component for jump/falling
207
+ this.moveVector.y = 0;
208
+ moving = true;
209
+ }
210
+ else {
211
+ moving = false;
212
+ }
213
+ if (this.freeFallDist) {
214
+ this.moveVector.y = -this.freeFallDist;
215
+ moving = true;
216
+ }
217
+ return moving;
218
+ }
219
+ doMove(dt) {
220
+ // initial down velocity
221
+ const u = this.movFallTime * this.gravity;
222
+ // calculate the distance by which av should fall down since last frame
223
+ // assuming it is in freefall
224
+ this.freeFallDist = u * dt + this.gravity * dt * dt;
225
+ this.movFallTime = this.movFallTime + dt;
226
+ const moving = this.calculateMovementVector(dt);
227
+ if (moving) {
228
+ if (this.moveVector.length() > 0.001) {
229
+ this.capsule.moveWithCollisions(this.moveVector);
230
+ // walking up a slope
231
+ if (this.capsule.position.y > this.animationStartPosition.y) {
232
+ const actDisp = this.capsule.position.subtract(this.animationStartPosition);
233
+ const slp = verticalSlope(actDisp);
234
+ if (slp >= this.sl2) {
235
+ //this._climbingSteps=true;
236
+ //is av trying to go up steps
237
+ if (this.stepOffset > 0) {
238
+ if (this.vMoveTot == 0) {
239
+ //if just started climbing note down the position
240
+ this.vMovStartPos.copyFrom(this.animationStartPosition);
241
+ }
242
+ this.vMoveTot = this.vMoveTot + (this.capsule.position.y - this.animationStartPosition.y);
243
+ if (this.vMoveTot > this.stepOffset) {
244
+ //move av back to its position at begining of steps
245
+ this.vMoveTot = 0;
246
+ this.capsule.position.copyFrom(this.vMovStartPos);
247
+ this.endFreeFall();
248
+ }
249
+ }
250
+ else {
251
+ //move av back to old position
252
+ this.capsule.position.copyFrom(this.animationStartPosition);
253
+ this.endFreeFall();
254
+ }
255
+ }
256
+ else {
257
+ this.vMoveTot = 0;
258
+ if (slp > this.sl1) {
259
+ //av is on a steep slope , continue increasing the moveFallTIme to deaccelerate it
260
+ this.inFreeFall = false;
261
+ }
262
+ else {
263
+ //continue walking
264
+ this.endFreeFall();
265
+ }
266
+ }
267
+ }
268
+ else if (this.capsule.position.y < this.animationStartPosition.y) {
269
+ const actDisp = this.capsule.position.subtract(this.animationStartPosition);
270
+ if (!areVectorsEqual(actDisp, this.moveVector, 0.001)) {
271
+ //AV is on slope
272
+ //Should AV continue to slide or walk?
273
+ //if slope is less steeper than acceptable then walk else slide
274
+ if (verticalSlope(actDisp) <= this.sl1) {
275
+ this.endFreeFall();
276
+ }
277
+ else {
278
+ //av is on a steep slope , continue increasing the moveFallTIme to deaccelerate it
279
+ this.inFreeFall = false;
280
+ }
281
+ }
282
+ else {
283
+ this.inFreeFall = true;
284
+ }
285
+ }
286
+ else {
287
+ this.endFreeFall();
288
+ }
289
+ }
290
+ }
291
+ }
292
+ endFreeFall() {
293
+ this.movFallTime = 0;
294
+ this.inFreeFall = false;
295
+ }
296
+ doIdle(dt) {
297
+ if (this.grounded) {
298
+ return;
299
+ }
300
+ this.movFallTime = 0;
301
+ if (dt === 0) {
302
+ this.freeFallDist = 5;
303
+ }
304
+ else {
305
+ const u = this.idleFallTime * this.gravity;
306
+ this.freeFallDist = u * dt + this.gravity * dt * dt;
307
+ this.idleFallTime = this.idleFallTime + dt;
308
+ }
309
+ //if displacement is less than 0.01(? need to verify further) then
310
+ //moveWithDisplacement down against a surface seems to push the AV up by a small amount!!
311
+ if (this.freeFallDist < 0.01)
312
+ return;
313
+ const disp = new core_1.Vector3(0, -this.freeFallDist, 0);
314
+ this.capsule.rotation.y = (3 * Math.PI) / 2 - this.camera.alpha;
315
+ this.capsule.moveWithCollisions(disp);
316
+ if (this.capsule.position.y > this.animationStartPosition.y || this.capsule.position.y === this.animationStartPosition.y) {
317
+ // this.grounded = true;
318
+ // this.idleFallTime = 0;
319
+ this.groundIt();
320
+ }
321
+ else if (this.capsule.position.y < this.animationStartPosition.y) {
322
+ //AV is going down.
323
+ //AV is either in free fall or is sliding along a downward slope
324
+ //
325
+ //if the actual displacemnt is same as the desired displacement then AV is in freefall
326
+ //else it is on a slope
327
+ const actDisp = this.capsule.position.subtract(this.animationStartPosition);
328
+ if (!areVectorsEqual(actDisp, disp, 0.001)) {
329
+ //AV is on slope
330
+ //Should AV continue to slide or stop?
331
+ //if slope is less steeper than accebtable then stop else slide
332
+ if (verticalSlope(actDisp) <= this.sl1) {
333
+ // this.grounded = true;
334
+ // this.idleFallTime = 0;
335
+ this.groundIt();
336
+ this.capsule.position.copyFrom(this.animationStartPosition);
337
+ }
338
+ else {
339
+ this.unGroundIt();
340
+ }
341
+ }
342
+ }
343
+ }
344
+ /**
345
+ * donot ground immediately
346
+ * wait few more frames
347
+ */
348
+ groundIt() {
349
+ this.groundFrameCount++;
350
+ if (this.groundFrameCount > this.groundFrameMax) {
351
+ this.grounded = true;
352
+ this.idleFallTime = 0;
353
+ }
354
+ }
355
+ unGroundIt() {
356
+ this.grounded = false;
357
+ this.groundFrameCount = 0;
358
+ }
359
+ updateTargetValue() {
360
+ // // donot move camera if av is trying to clinb steps
361
+ // if (this.vMoveTot == 0)
362
+ // this.playerEntity.position.addToRef(this.cameraTarget, this.camera.target);
363
+ // if user so desire, make the AV invisible if camera comes close to it
364
+ if (this.camera.radius <= this.camera.lowerRadiusLimit) {
365
+ if (!this.inFirstPerson) {
366
+ this.camera.checkCollisions = false;
367
+ this.inFirstPerson = true;
368
+ }
369
+ }
370
+ else {
371
+ if (this.inFirstPerson) {
372
+ this.inFirstPerson = false;
373
+ this.camera.checkCollisions = this.savedCameraCollision;
374
+ }
375
+ }
376
+ }
377
+ anyMovement() {
378
+ return this.act.walk || this.act.walkback || this.act.stepLeft || this.act.stepRight;
379
+ }
380
+ // control movement by commands rather than keyboard.
381
+ walk(b) {
382
+ this.act.walk = b;
383
+ }
384
+ walkBack(b) {
385
+ this.act.walkback = b;
386
+ }
387
+ walkBackFast(b) {
388
+ this.act.walkback = b;
389
+ this.act.speedMod = b;
390
+ }
391
+ run(b) {
392
+ this.act.walk = b;
393
+ this.act.speedMod = b;
394
+ }
395
+ strafeLeft(b) {
396
+ this.act.stepLeft = b;
397
+ }
398
+ strafeLeftFast(b) {
399
+ this.act.stepLeft = b;
400
+ this.act.speedMod = b;
401
+ }
402
+ strafeRight(b) {
403
+ this.act.stepRight = b;
404
+ }
405
+ strafeRightFast(b) {
406
+ this.act.stepRight = b;
407
+ this.act.speedMod = b;
408
+ }
409
+ jump() {
410
+ this.act.jump = true;
411
+ }
412
+ idle() {
413
+ this.act.reset();
414
+ }
415
+ teleport(position) {
416
+ this.moveVector.setAll(0);
417
+ this.act.reset();
418
+ this.capsule.position.copyFrom(position);
419
+ this.inFreeFall = false;
420
+ this.animationStartPosition.copyFrom(position);
421
+ this.idleFallTime = 0;
422
+ this.jumpTime = 0;
423
+ this.movFallTime = 0;
424
+ this.grounded = true;
425
+ }
426
+ }
427
+ exports.CharacterController = CharacterController;
428
+ class _Action {
429
+ constructor() {
430
+ this.walk = false;
431
+ this.walkback = false;
432
+ this.stepRight = false;
433
+ this.stepLeft = false;
434
+ this.jump = false;
435
+ // speed modifier - changes speed of movement
436
+ this.speedMod = true;
437
+ this.reset();
438
+ }
439
+ reset() {
440
+ this.walk = false;
441
+ this.walkback = false;
442
+ this.stepRight = false;
443
+ this.stepLeft = false;
444
+ this.jump = false;
445
+ this.speedMod = true;
446
+ }
447
+ }
448
+ class ActionData {
449
+ constructor(id, speed = 1) {
450
+ this.id = id;
451
+ this.speed = speed;
452
+ }
453
+ }
454
+ exports.ActionData = ActionData;
455
+ // checks if two vectors v1 and v2 are equal within a precision of p
456
+ function areVectorsEqual(v1, v2, p) {
457
+ return Math.abs(v1.x - v2.x) < p && Math.abs(v1.y - v2.y) < p && Math.abs(v1.z - v2.z) < p;
458
+ }
459
+ // returns the slope (in radians) of a vector in the vertical plane
460
+ function verticalSlope(v) {
461
+ return Math.atan(Math.abs(v.y / Math.sqrt(v.x * v.x + v.z * v.z)));
462
+ }
463
+ //# sourceMappingURL=CharacterController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CharacterController.js","sourceRoot":"","sources":["../../../../src/lib/babylon/avatars/CharacterController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { InstantiatedEntries } from '@babylonjs/core';
2
+ import { WearableWithContainer } from './types';
3
+ export declare function getBodyShapeAndHideBodyParts(loadedWearables: WearableWithContainer[], bodyShapeInstancedMeshes: InstantiatedEntries): WearableWithContainer | null;
4
+ //# sourceMappingURL=body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../src/lib/babylon/avatars/adr-65/body.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,qBAAqB,EAAE,EAAE,wBAAwB,EAAE,mBAAmB,gCA0CnI"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBodyShapeAndHideBodyParts = void 0;
4
+ const schemas_1 = require("@dcl/schemas");
5
+ const utils_1 = require("./utils");
6
+ function getBodyShapeAndHideBodyParts(loadedWearables, bodyShapeInstancedMeshes) {
7
+ const bodyShape = loadedWearables.find((part) => part.wearable.data.category === schemas_1.WearableCategory.BODY_SHAPE);
8
+ if (!bodyShape) {
9
+ return null;
10
+ }
11
+ // hide base body parts if necessary
12
+ const hasSkin = loadedWearables.some((part) => part.wearable.data.category === schemas_1.WearableCategory.SKIN);
13
+ const hideUpperBody = hasSkin || loadedWearables.some((0, utils_1.isCategoryHidden)(schemas_1.WearableCategory.UPPER_BODY));
14
+ const hideLowerBody = hasSkin || loadedWearables.some((0, utils_1.isCategoryHidden)(schemas_1.WearableCategory.LOWER_BODY));
15
+ const hideFeet = hasSkin || loadedWearables.some((0, utils_1.isCategoryHidden)(schemas_1.WearableCategory.FEET));
16
+ const hideHead = hasSkin || loadedWearables.some((0, utils_1.isCategoryHidden)(schemas_1.WearableCategory.HEAD));
17
+ for (const mesh of bodyShapeInstancedMeshes.rootNodes.flatMap($ => $.getChildMeshes())) {
18
+ const name = mesh.name.toLowerCase();
19
+ if (name.endsWith('ubody_basemesh') && hideUpperBody) {
20
+ mesh.setEnabled(false);
21
+ }
22
+ if (name.endsWith('lbody_basemesh') && hideLowerBody) {
23
+ mesh.setEnabled(false);
24
+ }
25
+ if (name.endsWith('feet_basemesh') && hideFeet) {
26
+ mesh.setEnabled(false);
27
+ }
28
+ if (name.endsWith('head') && hideHead) {
29
+ mesh.setEnabled(false);
30
+ }
31
+ if (name.endsWith('head_basemesh') && hideHead) {
32
+ mesh.setEnabled(false);
33
+ }
34
+ if (name.endsWith('mask_eyes') && hideHead) {
35
+ mesh.setEnabled(false);
36
+ }
37
+ if (name.endsWith('mask_eyebrows') && hideHead) {
38
+ mesh.setEnabled(false);
39
+ }
40
+ if (name.endsWith('mask_mouth') && hideHead) {
41
+ mesh.setEnabled(false);
42
+ }
43
+ }
44
+ return bodyShape;
45
+ }
46
+ exports.getBodyShapeAndHideBodyParts = getBodyShapeAndHideBodyParts;
47
+ //# sourceMappingURL=body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../src/lib/babylon/avatars/adr-65/body.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAC/C,mCAA0C;AAI1C,SAAgB,4BAA4B,CAAC,eAAwC,EAAE,wBAA6C;IAClI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,0BAAgB,CAAC,UAAU,CAAC,CAAA;IAC7G,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,oCAAoC;IACpC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,0BAAgB,CAAC,IAAI,CAAC,CAAA;IACrG,MAAM,aAAa,GAAG,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,0BAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;IACpG,MAAM,aAAa,GAAG,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,0BAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;IACpG,MAAM,QAAQ,GAAG,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,0BAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IACzF,MAAM,QAAQ,GAAG,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,0BAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IAEzF,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,aAAa,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,aAAa,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SACvB;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AA1CD,oEA0CC"}
@@ -0,0 +1,11 @@
1
+ import { InstantiatedEntries, Scene, Texture } from '@babylonjs/core';
2
+ import { AvatarShapeWithAssetManagers } from './types';
3
+ import { AssetManager } from '../../scene/AssetManager';
4
+ export declare function getFacialFeatures(assetManagers: AssetManager[], bodyShape: string): Promise<{
5
+ eyes: [Texture | null, Texture | null];
6
+ eyebrows: [Texture | null, Texture | null];
7
+ mouth: [Texture | null, Texture | null];
8
+ }>;
9
+ export declare function applyFacialFeaturesToMeshes(scene: Scene, instance: InstantiatedEntries, eyes: [Texture | null, Texture | null], eyebrows: [Texture | null, Texture | null], mouth: [Texture | null, Texture | null], config: AvatarShapeWithAssetManagers): Promise<void>;
10
+ export declare function applySkinMaterialsToInstances(instances: InstantiatedEntries, loadableAvatar: AvatarShapeWithAssetManagers): void;
11
+ //# sourceMappingURL=customizations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customizations.d.ts","sourceRoot":"","sources":["../../../../../src/lib/babylon/avatars/adr-65/customizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,mBAAmB,EAA4B,KAAK,EAAoB,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGvI,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAgBvD,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;;;;GAQvF;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,EACtC,QAAQ,EAAE,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,EAC1C,KAAK,EAAE,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,EACvC,MAAM,EAAE,4BAA4B,iBA4BrC;AAgCD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,4BAA4B,QAwCzH"}