@xrift/world-components 0.46.0 → 0.49.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 (313) hide show
  1. package/dist/components/BillboardY/hooks.d.ts +1 -1
  2. package/dist/components/BillboardY/hooks.d.ts.map +1 -1
  3. package/dist/components/BillboardY/index.d.ts +1 -1
  4. package/dist/components/BillboardY/index.d.ts.map +1 -1
  5. package/dist/components/DevEnvironment/components/ControlsHelp.d.ts +1 -1
  6. package/dist/components/DevEnvironment/components/ControlsHelp.d.ts.map +1 -1
  7. package/dist/components/DevEnvironment/components/Crosshair.d.ts +1 -1
  8. package/dist/components/DevEnvironment/components/Crosshair.d.ts.map +1 -1
  9. package/dist/components/DevEnvironment/components/GrabSystem/index.d.ts +1 -1
  10. package/dist/components/DevEnvironment/components/GrabSystem/index.d.ts.map +1 -1
  11. package/dist/components/DevEnvironment/components/PhysicsPlayer.d.ts +1 -1
  12. package/dist/components/DevEnvironment/components/PhysicsPlayer.d.ts.map +1 -1
  13. package/dist/components/DevEnvironment/components/PointerLockStatus.d.ts +1 -1
  14. package/dist/components/DevEnvironment/components/PointerLockStatus.d.ts.map +1 -1
  15. package/dist/components/DevEnvironment/index.d.ts +1 -1
  16. package/dist/components/DevEnvironment/index.d.ts.map +1 -1
  17. package/dist/components/EntryLogBoard/components/AvatarIcon.d.ts +1 -1
  18. package/dist/components/EntryLogBoard/components/AvatarIcon.d.ts.map +1 -1
  19. package/dist/components/EntryLogBoard/components/LogRow.d.ts +1 -1
  20. package/dist/components/EntryLogBoard/components/LogRow.d.ts.map +1 -1
  21. package/dist/components/EntryLogBoard/index.d.ts +1 -1
  22. package/dist/components/EntryLogBoard/index.d.ts.map +1 -1
  23. package/dist/components/LiveVideoPlayer/components/ControlPanel/index.d.ts +1 -1
  24. package/dist/components/LiveVideoPlayer/components/ControlPanel/index.d.ts.map +1 -1
  25. package/dist/components/LiveVideoPlayer/components/LiveVideoTexture.d.ts +1 -1
  26. package/dist/components/LiveVideoPlayer/components/LiveVideoTexture.d.ts.map +1 -1
  27. package/dist/components/LiveVideoPlayer/index.d.ts +1 -1
  28. package/dist/components/LiveVideoPlayer/index.d.ts.map +1 -1
  29. package/dist/components/Mirror/index.d.ts +1 -1
  30. package/dist/components/Mirror/index.d.ts.map +1 -1
  31. package/dist/components/Portal/components/PortalGlow/index.d.ts +1 -1
  32. package/dist/components/Portal/components/PortalGlow/index.d.ts.map +1 -1
  33. package/dist/components/Portal/components/PortalParticles/index.d.ts +1 -1
  34. package/dist/components/Portal/components/PortalParticles/index.d.ts.map +1 -1
  35. package/dist/components/Portal/components/PortalPedestal/index.d.ts +1 -1
  36. package/dist/components/Portal/components/PortalPedestal/index.d.ts.map +1 -1
  37. package/dist/components/Portal/components/PortalThumbnail/index.d.ts +1 -1
  38. package/dist/components/Portal/components/PortalThumbnail/index.d.ts.map +1 -1
  39. package/dist/components/Portal/components/PortalVortex/index.d.ts +1 -1
  40. package/dist/components/Portal/components/PortalVortex/index.d.ts.map +1 -1
  41. package/dist/components/Portal/index.d.ts +1 -1
  42. package/dist/components/Portal/index.d.ts.map +1 -1
  43. package/dist/components/ScreenShareDisplay/index.d.ts +1 -1
  44. package/dist/components/ScreenShareDisplay/index.d.ts.map +1 -1
  45. package/dist/components/Skybox/index.d.ts +1 -1
  46. package/dist/components/Skybox/index.d.ts.map +1 -1
  47. package/dist/components/TagBoard/components/TagChip.d.ts +1 -1
  48. package/dist/components/TagBoard/components/TagChip.d.ts.map +1 -1
  49. package/dist/components/TagBoard/components/TagDisplay/index.d.ts +1 -1
  50. package/dist/components/TagBoard/components/TagDisplay/index.d.ts.map +1 -1
  51. package/dist/components/TagBoard/components/TagSelector/components/ActionButton.d.ts +1 -1
  52. package/dist/components/TagBoard/components/TagSelector/components/ActionButton.d.ts.map +1 -1
  53. package/dist/components/TagBoard/components/TagSelector/components/TagButton.d.ts +1 -1
  54. package/dist/components/TagBoard/components/TagSelector/components/TagButton.d.ts.map +1 -1
  55. package/dist/components/TagBoard/components/TagSelector/index.d.ts +1 -1
  56. package/dist/components/TagBoard/components/TagSelector/index.d.ts.map +1 -1
  57. package/dist/components/TagBoard/index.d.ts +1 -1
  58. package/dist/components/TagBoard/index.d.ts.map +1 -1
  59. package/dist/components/Video180Sphere/EyeView.d.ts +1 -1
  60. package/dist/components/Video180Sphere/EyeView.d.ts.map +1 -1
  61. package/dist/components/Video180Sphere/index.d.ts +1 -1
  62. package/dist/components/Video180Sphere/index.d.ts.map +1 -1
  63. package/dist/components/VideoPlayer/components/ControlPanel.d.ts +1 -1
  64. package/dist/components/VideoPlayer/components/ControlPanel.d.ts.map +1 -1
  65. package/dist/components/VideoPlayer/index.d.ts +1 -1
  66. package/dist/components/VideoPlayer/index.d.ts.map +1 -1
  67. package/dist/components/VideoScreen/constants.d.ts +27 -0
  68. package/dist/components/VideoScreen/constants.d.ts.map +1 -0
  69. package/dist/components/VideoScreen/constants.js +27 -0
  70. package/dist/components/VideoScreen/constants.js.map +1 -0
  71. package/dist/components/VideoScreen/hooks.d.ts +19 -0
  72. package/dist/components/VideoScreen/hooks.d.ts.map +1 -0
  73. package/dist/components/VideoScreen/hooks.js +69 -0
  74. package/dist/components/VideoScreen/hooks.js.map +1 -0
  75. package/dist/components/VideoScreen/index.d.ts +1 -1
  76. package/dist/components/VideoScreen/index.d.ts.map +1 -1
  77. package/dist/components/VideoScreen/index.js +22 -17
  78. package/dist/components/VideoScreen/index.js.map +1 -1
  79. package/dist/components/VideoScreen/types.d.ts +14 -4
  80. package/dist/components/VideoScreen/types.d.ts.map +1 -1
  81. package/dist/components/VideoScreen/utils.d.ts +73 -0
  82. package/dist/components/VideoScreen/utils.d.ts.map +1 -0
  83. package/dist/components/VideoScreen/utils.js +74 -0
  84. package/dist/components/VideoScreen/utils.js.map +1 -0
  85. package/dist/components/commons/IconButton/index.d.ts +1 -1
  86. package/dist/components/commons/IconButton/index.d.ts.map +1 -1
  87. package/dist/components/commons/PlaceholderScreen/index.d.ts +1 -1
  88. package/dist/components/commons/PlaceholderScreen/index.d.ts.map +1 -1
  89. package/dist/components/commons/VideoMesh/index.d.ts +1 -1
  90. package/dist/components/commons/VideoMesh/index.d.ts.map +1 -1
  91. package/dist/components/commons/VolumeControl/index.d.ts +1 -1
  92. package/dist/components/commons/VolumeControl/index.d.ts.map +1 -1
  93. package/dist/contexts/AudioVolumeContext.d.ts +2 -2
  94. package/dist/contexts/AudioVolumeContext.d.ts.map +1 -1
  95. package/dist/contexts/ConfirmContext.d.ts +1 -1
  96. package/dist/contexts/ConfirmContext.d.ts.map +1 -1
  97. package/dist/contexts/FileInputContext.d.ts +1 -1
  98. package/dist/contexts/FileInputContext.d.ts.map +1 -1
  99. package/dist/contexts/GrabbableContext.d.ts +1 -1
  100. package/dist/contexts/GrabbableContext.d.ts.map +1 -1
  101. package/dist/contexts/InstanceContext.d.ts +1 -1
  102. package/dist/contexts/InstanceContext.d.ts.map +1 -1
  103. package/dist/contexts/InstanceEventContext.d.ts +1 -1
  104. package/dist/contexts/InstanceEventContext.d.ts.map +1 -1
  105. package/dist/contexts/InstanceStateContext.d.ts +1 -1
  106. package/dist/contexts/InstanceStateContext.d.ts.map +1 -1
  107. package/dist/contexts/ItemContext.d.ts +23 -3
  108. package/dist/contexts/ItemContext.d.ts.map +1 -1
  109. package/dist/contexts/ItemContext.js +7 -3
  110. package/dist/contexts/ItemContext.js.map +1 -1
  111. package/dist/contexts/PlacementStateContext.d.ts +1 -1
  112. package/dist/contexts/PlacementStateContext.d.ts.map +1 -1
  113. package/dist/contexts/ScreenShareContext.d.ts +1 -1
  114. package/dist/contexts/ScreenShareContext.d.ts.map +1 -1
  115. package/dist/contexts/ServerClockContext.d.ts +108 -0
  116. package/dist/contexts/ServerClockContext.d.ts.map +1 -0
  117. package/dist/contexts/ServerClockContext.js +48 -0
  118. package/dist/contexts/ServerClockContext.js.map +1 -0
  119. package/dist/contexts/SharedFileContext.d.ts +1 -1
  120. package/dist/contexts/SharedFileContext.d.ts.map +1 -1
  121. package/dist/contexts/SpawnPointContext.d.ts +1 -1
  122. package/dist/contexts/SpawnPointContext.d.ts.map +1 -1
  123. package/dist/contexts/TeleportContext.d.ts +1 -1
  124. package/dist/contexts/TeleportContext.d.ts.map +1 -1
  125. package/dist/contexts/TextInputContext.d.ts +1 -1
  126. package/dist/contexts/TextInputContext.d.ts.map +1 -1
  127. package/dist/contexts/UsersContext.d.ts +1 -1
  128. package/dist/contexts/UsersContext.d.ts.map +1 -1
  129. package/dist/contexts/WorldContext.d.ts +1 -1
  130. package/dist/contexts/WorldContext.d.ts.map +1 -1
  131. package/dist/contexts/WorldStorageContext.d.ts +1 -1
  132. package/dist/contexts/WorldStorageContext.d.ts.map +1 -1
  133. package/dist/contexts/XRiftContext.d.ts +7 -1
  134. package/dist/contexts/XRiftContext.d.ts.map +1 -1
  135. package/dist/contexts/XRiftContext.js +5 -1
  136. package/dist/contexts/XRiftContext.js.map +1 -1
  137. package/dist/hooks/useServerClock.d.ts +60 -0
  138. package/dist/hooks/useServerClock.d.ts.map +1 -0
  139. package/dist/hooks/useServerClock.js +58 -0
  140. package/dist/hooks/useServerClock.js.map +1 -0
  141. package/dist/index.d.ts +5 -1
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +4 -0
  144. package/dist/index.js.map +1 -1
  145. package/package.json +7 -5
  146. package/dist/components/BillboardY/__tests__/utils.test.d.ts +0 -2
  147. package/dist/components/BillboardY/__tests__/utils.test.d.ts.map +0 -1
  148. package/dist/components/BillboardY/__tests__/utils.test.js +0 -45
  149. package/dist/components/BillboardY/__tests__/utils.test.js.map +0 -1
  150. package/dist/components/DevEnvironment/__tests__/utils.test.d.ts +0 -2
  151. package/dist/components/DevEnvironment/__tests__/utils.test.d.ts.map +0 -1
  152. package/dist/components/DevEnvironment/__tests__/utils.test.js +0 -24
  153. package/dist/components/DevEnvironment/__tests__/utils.test.js.map +0 -1
  154. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.d.ts +0 -2
  155. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.d.ts.map +0 -1
  156. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.js +0 -114
  157. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.js.map +0 -1
  158. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.d.ts +0 -2
  159. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.d.ts.map +0 -1
  160. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.js +0 -103
  161. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.js.map +0 -1
  162. package/dist/components/EntryLogBoard/__tests__/utils.test.d.ts +0 -2
  163. package/dist/components/EntryLogBoard/__tests__/utils.test.d.ts.map +0 -1
  164. package/dist/components/EntryLogBoard/__tests__/utils.test.js +0 -231
  165. package/dist/components/EntryLogBoard/__tests__/utils.test.js.map +0 -1
  166. package/dist/components/Grabbable/__tests__/utils.test.d.ts +0 -2
  167. package/dist/components/Grabbable/__tests__/utils.test.d.ts.map +0 -1
  168. package/dist/components/Grabbable/__tests__/utils.test.js +0 -59
  169. package/dist/components/Grabbable/__tests__/utils.test.js.map +0 -1
  170. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.d.ts +0 -8
  171. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.d.ts.map +0 -1
  172. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.js +0 -11
  173. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.js.map +0 -1
  174. package/dist/components/LiveVideoPlayer/components/index.d.ts +0 -3
  175. package/dist/components/LiveVideoPlayer/components/index.d.ts.map +0 -1
  176. package/dist/components/LiveVideoPlayer/components/index.js +0 -3
  177. package/dist/components/LiveVideoPlayer/components/index.js.map +0 -1
  178. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.d.ts +0 -2
  179. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.d.ts.map +0 -1
  180. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.js +0 -196
  181. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.js.map +0 -1
  182. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.d.ts +0 -2
  183. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.d.ts.map +0 -1
  184. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.js +0 -146
  185. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.js.map +0 -1
  186. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.d.ts +0 -2
  187. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.d.ts.map +0 -1
  188. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.js +0 -94
  189. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.js.map +0 -1
  190. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.d.ts +0 -2
  191. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.d.ts.map +0 -1
  192. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.js +0 -74
  193. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.js.map +0 -1
  194. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.d.ts +0 -25
  195. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.d.ts.map +0 -1
  196. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.js +0 -97
  197. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.js.map +0 -1
  198. package/dist/components/Mirror/__tests__/utils.test.d.ts +0 -2
  199. package/dist/components/Mirror/__tests__/utils.test.d.ts.map +0 -1
  200. package/dist/components/Mirror/__tests__/utils.test.js +0 -42
  201. package/dist/components/Mirror/__tests__/utils.test.js.map +0 -1
  202. package/dist/components/MsdfText/index.d.ts +0 -24
  203. package/dist/components/MsdfText/index.d.ts.map +0 -1
  204. package/dist/components/MsdfText/index.js +0 -24
  205. package/dist/components/MsdfText/index.js.map +0 -1
  206. package/dist/components/Portal/__tests__/utils.test.d.ts +0 -2
  207. package/dist/components/Portal/__tests__/utils.test.d.ts.map +0 -1
  208. package/dist/components/Portal/__tests__/utils.test.js +0 -56
  209. package/dist/components/Portal/__tests__/utils.test.js.map +0 -1
  210. package/dist/components/ScreenShareDisplay/__tests__/utils.test.d.ts +0 -2
  211. package/dist/components/ScreenShareDisplay/__tests__/utils.test.d.ts.map +0 -1
  212. package/dist/components/ScreenShareDisplay/__tests__/utils.test.js +0 -47
  213. package/dist/components/ScreenShareDisplay/__tests__/utils.test.js.map +0 -1
  214. package/dist/components/TroikaText/index.d.ts +0 -4
  215. package/dist/components/TroikaText/index.d.ts.map +0 -1
  216. package/dist/components/TroikaText/index.js +0 -50
  217. package/dist/components/TroikaText/index.js.map +0 -1
  218. package/dist/components/TroikaText/types.d.ts +0 -19
  219. package/dist/components/TroikaText/types.d.ts.map +0 -1
  220. package/dist/components/TroikaText/types.js +0 -2
  221. package/dist/components/TroikaText/types.js.map +0 -1
  222. package/dist/components/VideoPlayer/ControlPanel.d.ts +0 -3
  223. package/dist/components/VideoPlayer/ControlPanel.d.ts.map +0 -1
  224. package/dist/components/VideoPlayer/ControlPanel.js +0 -34
  225. package/dist/components/VideoPlayer/ControlPanel.js.map +0 -1
  226. package/dist/components/VideoPlayer/ProgressBar.d.ts +0 -3
  227. package/dist/components/VideoPlayer/ProgressBar.d.ts.map +0 -1
  228. package/dist/components/VideoPlayer/ProgressBar.js +0 -21
  229. package/dist/components/VideoPlayer/ProgressBar.js.map +0 -1
  230. package/dist/components/VideoPlayer/__tests__/utils.test.d.ts +0 -2
  231. package/dist/components/VideoPlayer/__tests__/utils.test.d.ts.map +0 -1
  232. package/dist/components/VideoPlayer/__tests__/utils.test.js +0 -23
  233. package/dist/components/VideoPlayer/__tests__/utils.test.js.map +0 -1
  234. package/dist/components/VideoPlayer/components/ProgressBar.d.ts +0 -12
  235. package/dist/components/VideoPlayer/components/ProgressBar.d.ts.map +0 -1
  236. package/dist/components/VideoPlayer/components/ProgressBar.js +0 -21
  237. package/dist/components/VideoPlayer/components/ProgressBar.js.map +0 -1
  238. package/dist/components/VideoPlayer/components/index.d.ts +0 -3
  239. package/dist/components/VideoPlayer/components/index.d.ts.map +0 -1
  240. package/dist/components/VideoPlayer/components/index.js +0 -3
  241. package/dist/components/VideoPlayer/components/index.js.map +0 -1
  242. package/dist/components/VideoPlayer/types.d.ts +0 -44
  243. package/dist/components/VideoPlayer/types.d.ts.map +0 -1
  244. package/dist/components/VideoPlayer/types.js +0 -2
  245. package/dist/components/VideoPlayer/types.js.map +0 -1
  246. package/dist/components/VideoPlayer/utils.test.d.ts +0 -2
  247. package/dist/components/VideoPlayer/utils.test.d.ts.map +0 -1
  248. package/dist/components/VideoPlayer/utils.test.js +0 -23
  249. package/dist/components/VideoPlayer/utils.test.js.map +0 -1
  250. package/dist/components/commons/utils.test.d.ts +0 -2
  251. package/dist/components/commons/utils.test.d.ts.map +0 -1
  252. package/dist/components/commons/utils.test.js +0 -79
  253. package/dist/components/commons/utils.test.js.map +0 -1
  254. package/dist/contexts/FontContext.d.ts +0 -17
  255. package/dist/contexts/FontContext.d.ts.map +0 -1
  256. package/dist/contexts/FontContext.js +0 -25
  257. package/dist/contexts/FontContext.js.map +0 -1
  258. package/dist/contexts/InstanceInfoContext.d.ts +0 -39
  259. package/dist/contexts/InstanceInfoContext.d.ts.map +0 -1
  260. package/dist/contexts/InstanceInfoContext.js +0 -42
  261. package/dist/contexts/InstanceInfoContext.js.map +0 -1
  262. package/dist/contexts/PortalContext.d.ts +0 -39
  263. package/dist/contexts/PortalContext.d.ts.map +0 -1
  264. package/dist/contexts/PortalContext.js +0 -42
  265. package/dist/contexts/PortalContext.js.map +0 -1
  266. package/dist/contexts/WorldEventContext.d.ts +0 -32
  267. package/dist/contexts/WorldEventContext.d.ts.map +0 -1
  268. package/dist/contexts/WorldEventContext.js +0 -54
  269. package/dist/contexts/WorldEventContext.js.map +0 -1
  270. package/dist/contexts/__tests__/WorldStorageContext.test.d.ts +0 -2
  271. package/dist/contexts/__tests__/WorldStorageContext.test.d.ts.map +0 -1
  272. package/dist/contexts/__tests__/WorldStorageContext.test.js +0 -120
  273. package/dist/contexts/__tests__/WorldStorageContext.test.js.map +0 -1
  274. package/dist/fonts/FontContext.d.ts +0 -9
  275. package/dist/fonts/FontContext.d.ts.map +0 -1
  276. package/dist/fonts/FontContext.js +0 -5
  277. package/dist/fonts/FontContext.js.map +0 -1
  278. package/dist/fonts/FontProvider.d.ts +0 -31
  279. package/dist/fonts/FontProvider.d.ts.map +0 -1
  280. package/dist/fonts/FontProvider.js +0 -40
  281. package/dist/fonts/FontProvider.js.map +0 -1
  282. package/dist/fonts/FontReadyContainer.d.ts +0 -35
  283. package/dist/fonts/FontReadyContainer.d.ts.map +0 -1
  284. package/dist/fonts/FontReadyContainer.js +0 -40
  285. package/dist/fonts/FontReadyContainer.js.map +0 -1
  286. package/dist/fonts/constants.d.ts +0 -5
  287. package/dist/fonts/constants.d.ts.map +0 -1
  288. package/dist/fonts/constants.js +0 -5
  289. package/dist/fonts/constants.js.map +0 -1
  290. package/dist/fonts/loadTTF.d.ts +0 -18
  291. package/dist/fonts/loadTTF.d.ts.map +0 -1
  292. package/dist/fonts/loadTTF.js +0 -36
  293. package/dist/fonts/loadTTF.js.map +0 -1
  294. package/dist/fonts/useTTF.d.ts +0 -7
  295. package/dist/fonts/useTTF.d.ts.map +0 -1
  296. package/dist/fonts/useTTF.js +0 -9
  297. package/dist/fonts/useTTF.js.map +0 -1
  298. package/dist/hooks/useJapaneseFont.d.ts +0 -7
  299. package/dist/hooks/useJapaneseFont.d.ts.map +0 -1
  300. package/dist/hooks/useJapaneseFont.js +0 -25
  301. package/dist/hooks/useJapaneseFont.js.map +0 -1
  302. package/dist/hooks/useMsdfFont.d.ts +0 -11
  303. package/dist/hooks/useMsdfFont.d.ts.map +0 -1
  304. package/dist/hooks/useMsdfFont.js +0 -19
  305. package/dist/hooks/useMsdfFont.js.map +0 -1
  306. package/dist/hooks/usePortalNavigation.d.ts +0 -10
  307. package/dist/hooks/usePortalNavigation.d.ts.map +0 -1
  308. package/dist/hooks/usePortalNavigation.js +0 -46
  309. package/dist/hooks/usePortalNavigation.js.map +0 -1
  310. package/dist/hooks/useWorldEvent.d.ts +0 -25
  311. package/dist/hooks/useWorldEvent.d.ts.map +0 -1
  312. package/dist/hooks/useWorldEvent.js +0 -45
  313. package/dist/hooks/useWorldEvent.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/components/commons/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import type { FontFamilies } from '@pmndrs/uikit';
3
- interface Props {
4
- children: ReactNode;
5
- }
6
- /**
7
- * フォントをプリロードし、ロード完了まで children をブロックする Provider。
8
- * XRiftProvider 内で使用される。
9
- */
10
- export declare function FontProvider({ children }: Props): import("react/jsx-runtime").JSX.Element | null;
11
- /**
12
- * ロード済みの FontFamilies を取得する hook。
13
- * FontProvider 内では即座に返し、外では useDefaultFont にフォールバックする。
14
- */
15
- export declare function useFont(): FontFamilies | undefined;
16
- export {};
17
- //# sourceMappingURL=FontContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAOjD,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,kDAK/C;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,YAAY,GAAG,SAAS,CAIlD"}
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- import { useDefaultFont } from '../hooks/useDefaultFont';
4
- const FontContext = createContext(null);
5
- const DEFAULT_LOCALES = ['ja'];
6
- /**
7
- * フォントをプリロードし、ロード完了まで children をブロックする Provider。
8
- * XRiftProvider 内で使用される。
9
- */
10
- export function FontProvider({ children }) {
11
- const fontFamilies = useDefaultFont(DEFAULT_LOCALES);
12
- if (!fontFamilies)
13
- return null;
14
- return _jsx(FontContext.Provider, { value: fontFamilies, children: children });
15
- }
16
- /**
17
- * ロード済みの FontFamilies を取得する hook。
18
- * FontProvider 内では即座に返し、外では useDefaultFont にフォールバックする。
19
- */
20
- export function useFont() {
21
- const ctx = useContext(FontContext);
22
- const fallback = useDefaultFont(DEFAULT_LOCALES);
23
- return ctx ?? fallback;
24
- }
25
- //# sourceMappingURL=FontContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontContext.js","sourceRoot":"","sources":["../../src/contexts/FontContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAmB,MAAM,yBAAyB,CAAA;AAEzE,MAAM,WAAW,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAA;AAE5D,MAAM,eAAe,GAAiB,CAAC,IAAI,CAAC,CAAA;AAM5C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAS;IAC9C,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,CAAA;IACpD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAE9B,OAAO,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAAwB,CAAA;AACrF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAA;IAChD,OAAO,GAAG,IAAI,QAAQ,CAAA;AACxB,CAAC"}
@@ -1,39 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- export interface InstanceInfo {
3
- instanceName: string;
4
- worldName: string;
5
- thumbnailUrl: string | null;
6
- currentUsers: number;
7
- maxCapacity: number;
8
- }
9
- export interface InstanceInfoContextValue {
10
- /** instanceId からインスタンス情報を取得 */
11
- getInstanceInfo: (instanceId: string) => Promise<InstanceInfo>;
12
- /** 指定インスタンスへ遷移 */
13
- navigateToInstance: (instanceId: string) => void;
14
- }
15
- /**
16
- * 開発環境用のデフォルト実装(console.log のみ)
17
- * プラットフォーム側が実装を注入しない場合に使用される
18
- */
19
- export declare const createDefaultInstanceInfoImplementation: () => InstanceInfoContextValue;
20
- /**
21
- * インスタンス情報の取得・遷移機能を提供する Context
22
- * xrift-frontend 側で実装を注入し、ワールド側で利用できる
23
- */
24
- export declare const InstanceInfoContext: import("react").Context<InstanceInfoContextValue | null>;
25
- interface Props {
26
- value: InstanceInfoContextValue;
27
- children: ReactNode;
28
- }
29
- /**
30
- * インスタンス情報の取得・遷移機能を提供する ContextProvider
31
- */
32
- export declare const InstanceInfoProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
33
- /**
34
- * インスタンス情報の Context を取得する hook
35
- * @throws {Error} InstanceInfoProvider の外で呼び出された場合
36
- */
37
- export declare const useInstanceInfoContext: () => InstanceInfoContextValue;
38
- export {};
39
- //# sourceMappingURL=InstanceInfoContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InstanceInfoContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceInfoContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9D,kBAAkB;IAClB,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,uCAAuC,QAAO,wBAazD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,0DAAuD,CAAA;AAEvF,UAAU,KAAK;IACb,KAAK,EAAE,wBAAwB,CAAA;IAC/B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,qBAAqB,KAAK,4CAE9D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAO,wBAMzC,CAAA"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- /**
4
- * 開発環境用のデフォルト実装(console.log のみ)
5
- * プラットフォーム側が実装を注入しない場合に使用される
6
- */
7
- export const createDefaultInstanceInfoImplementation = () => ({
8
- getInstanceInfo: async (instanceId) => {
9
- console.log('[InstanceInfo] getInstanceInfo called', instanceId);
10
- return {
11
- instanceName: '',
12
- worldName: '',
13
- thumbnailUrl: null,
14
- currentUsers: 0,
15
- maxCapacity: 0,
16
- };
17
- },
18
- navigateToInstance: (instanceId) => console.log('[InstanceInfo] navigateToInstance called', instanceId),
19
- });
20
- /**
21
- * インスタンス情報の取得・遷移機能を提供する Context
22
- * xrift-frontend 側で実装を注入し、ワールド側で利用できる
23
- */
24
- export const InstanceInfoContext = createContext(null);
25
- /**
26
- * インスタンス情報の取得・遷移機能を提供する ContextProvider
27
- */
28
- export const InstanceInfoProvider = ({ value, children }) => {
29
- return _jsx(InstanceInfoContext.Provider, { value: value, children: children });
30
- };
31
- /**
32
- * インスタンス情報の Context を取得する hook
33
- * @throws {Error} InstanceInfoProvider の外で呼び出された場合
34
- */
35
- export const useInstanceInfoContext = () => {
36
- const context = useContext(InstanceInfoContext);
37
- if (!context) {
38
- throw new Error('useInstanceInfoContext must be used within InstanceInfoProvider');
39
- }
40
- return context;
41
- };
42
- //# sourceMappingURL=InstanceInfoContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InstanceInfoContext.js","sourceRoot":"","sources":["../../src/contexts/InstanceInfoContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjE;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAA6B,EAAE,CAAC,CAAC;IACtF,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,UAAU,CAAC,CAAA;QAChE,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAA;IACH,CAAC;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,UAAU,CAAC;CACtE,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAA;AAOvF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IACjE,OAAO,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAgC,CAAA;AAC9F,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAA6B,EAAE;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,39 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- export interface PortalInstanceInfo {
3
- instanceName: string;
4
- worldName: string;
5
- thumbnailUrl: string | null;
6
- currentUsers: number;
7
- maxCapacity: number;
8
- }
9
- export interface PortalContextValue {
10
- /** instanceId からインスタンス情報を取得 */
11
- getInstanceInfo: (instanceId: string) => Promise<PortalInstanceInfo>;
12
- /** 指定インスタンスへ遷移 */
13
- navigateToInstance: (instanceId: string) => void;
14
- }
15
- /**
16
- * 開発環境用のデフォルト実装(console.log のみ)
17
- * プラットフォーム側が実装を注入しない場合に使用される
18
- */
19
- export declare const createDefaultPortalImplementation: () => PortalContextValue;
20
- /**
21
- * ポータル遷移機能を提供する Context
22
- * xrift-frontend 側で実装を注入し、ワールド側で利用できる
23
- */
24
- export declare const PortalContext: import("react").Context<PortalContextValue | null>;
25
- interface Props {
26
- value: PortalContextValue;
27
- children: ReactNode;
28
- }
29
- /**
30
- * ポータル遷移機能を提供する ContextProvider
31
- */
32
- export declare const PortalProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
33
- /**
34
- * ポータルの Context を取得する hook
35
- * @throws {Error} PortalProvider の外で呼び出された場合
36
- */
37
- export declare const usePortalContext: () => PortalContextValue;
38
- export {};
39
- //# sourceMappingURL=PortalContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortalContext.d.ts","sourceRoot":"","sources":["../../src/contexts/PortalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpE,kBAAkB;IAClB,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAO,kBAanD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,UAAU,KAAK;IACb,KAAK,EAAE,kBAAkB,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,qBAAqB,KAAK,4CAExD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAO,kBAMnC,CAAA"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- /**
4
- * 開発環境用のデフォルト実装(console.log のみ)
5
- * プラットフォーム側が実装を注入しない場合に使用される
6
- */
7
- export const createDefaultPortalImplementation = () => ({
8
- getInstanceInfo: async (instanceId) => {
9
- console.log('[Portal] getInstanceInfo called', instanceId);
10
- return {
11
- instanceName: '',
12
- worldName: '',
13
- thumbnailUrl: null,
14
- currentUsers: 0,
15
- maxCapacity: 0,
16
- };
17
- },
18
- navigateToInstance: (instanceId) => console.log('[Portal] navigateToInstance called', instanceId),
19
- });
20
- /**
21
- * ポータル遷移機能を提供する Context
22
- * xrift-frontend 側で実装を注入し、ワールド側で利用できる
23
- */
24
- export const PortalContext = createContext(null);
25
- /**
26
- * ポータル遷移機能を提供する ContextProvider
27
- */
28
- export const PortalProvider = ({ value, children }) => {
29
- return _jsx(PortalContext.Provider, { value: value, children: children });
30
- };
31
- /**
32
- * ポータルの Context を取得する hook
33
- * @throws {Error} PortalProvider の外で呼び出された場合
34
- */
35
- export const usePortalContext = () => {
36
- const context = useContext(PortalContext);
37
- if (!context) {
38
- throw new Error('usePortalContext must be used within PortalProvider');
39
- }
40
- return context;
41
- };
42
- //# sourceMappingURL=PortalContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortalContext.js","sourceRoot":"","sources":["../../src/contexts/PortalContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjE;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAuB,EAAE,CAAC,CAAC;IAC1E,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAA;QAC1D,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAA;IACH,CAAC;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,UAAU,CAAC;CAChE,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAO3E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC3D,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAA;AAClF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAuB,EAAE;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,32 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- export interface WorldEventContextValue {
3
- /** イベントを購読する。戻り値は購読解除関数 */
4
- subscribe: (eventName: string, callback: (data: unknown) => void) => () => void;
5
- /** ワールド独自イベントを送信する */
6
- emit: (eventName: string, data: unknown) => void;
7
- }
8
- /**
9
- * 開発環境用のデフォルト実装(ローカル EventEmitter)
10
- * プラットフォーム側が WebSocket 実装を注入しない場合に使用される
11
- */
12
- export declare const createDefaultWorldEventImplementation: () => WorldEventContextValue;
13
- /**
14
- * ワールドイベントの送受信を提供する Context
15
- * xrift-frontend 側で WebSocket 実装を注入し、ワールド側で利用できる
16
- */
17
- export declare const WorldEventContext: import("react").Context<WorldEventContextValue | null>;
18
- interface Props {
19
- value: WorldEventContextValue;
20
- children: ReactNode;
21
- }
22
- /**
23
- * ワールドイベントの送受信を提供する ContextProvider
24
- */
25
- export declare const WorldEventProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
26
- /**
27
- * ワールドイベントの Context を取得する hook
28
- * @throws {Error} WorldEventProvider の外で呼び出された場合
29
- */
30
- export declare const useWorldEventContext: () => WorldEventContextValue;
31
- export {};
32
- //# sourceMappingURL=WorldEventContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldEventContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorldEventContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/E,sBAAsB;IACtB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,qCAAqC,QAAO,sBA2BxD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,wDAAqD,CAAA;AAEnF,UAAU,KAAK;IACb,KAAK,EAAE,sBAAsB,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,qBAAqB,KAAK,4CAE5D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAO,sBAMvC,CAAA"}
@@ -1,54 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- /**
4
- * 開発環境用のデフォルト実装(ローカル EventEmitter)
5
- * プラットフォーム側が WebSocket 実装を注入しない場合に使用される
6
- */
7
- export const createDefaultWorldEventImplementation = () => {
8
- const listeners = new Map();
9
- const subscribe = (eventName, callback) => {
10
- if (!listeners.has(eventName)) {
11
- listeners.set(eventName, new Set());
12
- }
13
- const set = listeners.get(eventName);
14
- set.add(callback);
15
- return () => {
16
- set.delete(callback);
17
- if (set.size === 0) {
18
- listeners.delete(eventName);
19
- }
20
- };
21
- };
22
- const emit = (eventName, data) => {
23
- const set = listeners.get(eventName);
24
- if (!set)
25
- return;
26
- for (const cb of set) {
27
- cb(data);
28
- }
29
- };
30
- return { subscribe, emit };
31
- };
32
- /**
33
- * ワールドイベントの送受信を提供する Context
34
- * xrift-frontend 側で WebSocket 実装を注入し、ワールド側で利用できる
35
- */
36
- export const WorldEventContext = createContext(null);
37
- /**
38
- * ワールドイベントの送受信を提供する ContextProvider
39
- */
40
- export const WorldEventProvider = ({ value, children }) => {
41
- return _jsx(WorldEventContext.Provider, { value: value, children: children });
42
- };
43
- /**
44
- * ワールドイベントの Context を取得する hook
45
- * @throws {Error} WorldEventProvider の外で呼び出された場合
46
- */
47
- export const useWorldEventContext = () => {
48
- const context = useContext(WorldEventContext);
49
- if (!context) {
50
- throw new Error('useWorldEventContext must be used within WorldEventProvider');
51
- }
52
- return context;
53
- };
54
- //# sourceMappingURL=WorldEventContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldEventContext.js","sourceRoot":"","sources":["../../src/contexts/WorldEventContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AASjE;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAA2B,EAAE;IAChF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwC,CAAA;IAEjE,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,QAAiC,EAAgB,EAAE;QACvF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;QACrC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEjB,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnB,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC,CAAA;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,IAAa,EAAQ,EAAE;QACtD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,EAAE,CAAC,IAAI,CAAC,CAAA;QACV,CAAC;IACH,CAAC,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAC5B,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAA;AAOnF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC/D,OAAO,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA8B,CAAA;AAC1F,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAA2B,EAAE;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=WorldStorageContext.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldStorageContext.test.d.ts","sourceRoot":"","sources":["../../../src/contexts/__tests__/WorldStorageContext.test.ts"],"names":[],"mappings":""}
@@ -1,120 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { WORLD_STORAGE_LIMITS, WorldStorageError, createDefaultWorldStorageImplementation, getWorldStorageEntrySize, incrementWorldStorageValue, isValidWorldStorageKey, } from '../WorldStorageContext';
3
- describe('isValidWorldStorageKey', () => {
4
- it('英数字・アンダースコア・ドット・ハイフン・コロンを許可する', () => {
5
- expect(isValidWorldStorageKey('event_phase')).toBe(true);
6
- expect(isValidWorldStorageKey('player.score-1:jp')).toBe(true);
7
- expect(isValidWorldStorageKey('A')).toBe(true);
8
- });
9
- it('空文字を拒否する', () => {
10
- expect(isValidWorldStorageKey('')).toBe(false);
11
- });
12
- it('128文字を超えるキーを拒否する', () => {
13
- expect(isValidWorldStorageKey('a'.repeat(128))).toBe(true);
14
- expect(isValidWorldStorageKey('a'.repeat(129))).toBe(false);
15
- });
16
- it('許可されない文字を拒否する', () => {
17
- expect(isValidWorldStorageKey('日本語')).toBe(false);
18
- expect(isValidWorldStorageKey('key with space')).toBe(false);
19
- expect(isValidWorldStorageKey('key/slash')).toBe(false);
20
- });
21
- });
22
- describe('getWorldStorageEntrySize', () => {
23
- it('JSON化したバイト数を返す', () => {
24
- expect(getWorldStorageEntrySize('ab')).toBe(4); // "ab"
25
- expect(getWorldStorageEntrySize(123)).toBe(3);
26
- expect(getWorldStorageEntrySize({ a: 1 })).toBe(7); // {"a":1}
27
- });
28
- it('マルチバイト文字をバイト数で数える', () => {
29
- expect(getWorldStorageEntrySize('あ')).toBe(5); // "あ" = 2(引用符) + 3
30
- });
31
- });
32
- describe('incrementWorldStorageValue', () => {
33
- it('既存値が undefined の場合は delta を返す', () => {
34
- expect(incrementWorldStorageValue(undefined, 5)).toBe(5);
35
- });
36
- it('既存の数値に delta を加算する', () => {
37
- expect(incrementWorldStorageValue(10, 5)).toBe(15);
38
- expect(incrementWorldStorageValue(10, -3)).toBe(7);
39
- });
40
- it('浮動小数点の加算ができる', () => {
41
- expect(incrementWorldStorageValue(0.1, 0.2)).toBeCloseTo(0.3);
42
- });
43
- it('既存値が数値以外の場合は TYPE_MISMATCH を投げる', () => {
44
- expect(() => incrementWorldStorageValue('text', 1)).toThrowError(WorldStorageError);
45
- try {
46
- incrementWorldStorageValue('text', 1);
47
- }
48
- catch (err) {
49
- expect(err.code).toBe('TYPE_MISMATCH');
50
- }
51
- });
52
- });
53
- describe('createDefaultWorldStorageImplementation', () => {
54
- it('shared: set した値を get / list で取得できる', async () => {
55
- const storage = createDefaultWorldStorageImplementation();
56
- await storage.shared.set('event_phase', '第2章');
57
- expect(await storage.shared.get('event_phase')).toBe('第2章');
58
- expect(await storage.shared.list()).toEqual([{ key: 'event_phase', value: '第2章' }]);
59
- });
60
- it('shared: 存在しないキーの get は undefined を返す', async () => {
61
- const storage = createDefaultWorldStorageImplementation();
62
- expect(await storage.shared.get('missing')).toBeUndefined();
63
- });
64
- it('shared: increment は加算後の値を返す', async () => {
65
- const storage = createDefaultWorldStorageImplementation();
66
- expect(await storage.shared.increment('total_visits', 1)).toBe(1);
67
- expect(await storage.shared.increment('total_visits', 2)).toBe(3);
68
- expect(await storage.shared.get('total_visits')).toBe(3);
69
- });
70
- it('shared: delete は冪等', async () => {
71
- const storage = createDefaultWorldStorageImplementation();
72
- await storage.shared.set('key', 'value');
73
- await storage.shared.delete('key');
74
- await storage.shared.delete('key');
75
- expect(await storage.shared.get('key')).toBeUndefined();
76
- });
77
- it('不正なキーで INVALID_KEY を投げる', async () => {
78
- const storage = createDefaultWorldStorageImplementation();
79
- await expect(storage.shared.set('無効なキー', 1)).rejects.toMatchObject({
80
- code: 'INVALID_KEY',
81
- });
82
- await expect(storage.player.get('bad key')).rejects.toMatchObject({
83
- code: 'INVALID_KEY',
84
- });
85
- });
86
- it('100KB を超える値で ENTRY_TOO_LARGE を投げる', async () => {
87
- const storage = createDefaultWorldStorageImplementation();
88
- const large = 'a'.repeat(WORLD_STORAGE_LIMITS.entrySize + 1);
89
- await expect(storage.shared.set('key', large)).rejects.toMatchObject({
90
- code: 'ENTRY_TOO_LARGE',
91
- });
92
- });
93
- it('player: キー数上限を超えると LIMIT_EXCEEDED を投げる', async () => {
94
- const storage = createDefaultWorldStorageImplementation();
95
- for (let i = 0; i < WORLD_STORAGE_LIMITS.playerKeysPerUser; i++) {
96
- await storage.player.set(`key-${i}`, i);
97
- }
98
- await expect(storage.player.set('one-more', 1)).rejects.toMatchObject({
99
- code: 'LIMIT_EXCEEDED',
100
- });
101
- // 既存キーの上書きは可能
102
- await storage.player.set('key-0', 100);
103
- expect(await storage.player.get('key-0')).toBe(100);
104
- });
105
- it('player: 自分と他ユーザーの値が分離されている', async () => {
106
- const storage = createDefaultWorldStorageImplementation();
107
- await storage.player.set('coins', 340);
108
- expect(await storage.player.get('coins')).toBe(340);
109
- expect(await storage.player.get('coins', { userId: 'other-user' })).toBeUndefined();
110
- expect(await storage.player.list({ userId: 'other-user' })).toEqual([]);
111
- });
112
- it('shared と player の値が分離されている', async () => {
113
- const storage = createDefaultWorldStorageImplementation();
114
- await storage.shared.set('key', 'shared-value');
115
- await storage.player.set('key', 'player-value');
116
- expect(await storage.shared.get('key')).toBe('shared-value');
117
- expect(await storage.player.get('key')).toBe('player-value');
118
- });
119
- });
120
- //# sourceMappingURL=WorldStorageContext.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldStorageContext.test.js","sourceRoot":"","sources":["../../../src/contexts/__tests__/WorldStorageContext.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { GenerateFontResult } from '@zappar/msdf-generator';
2
- interface FontContextValue {
3
- fontFamilies: GenerateFontResult;
4
- }
5
- export declare const FontContext: import("react").Context<FontContextValue | null>;
6
- /** FontProvider 内では fontFamilies を返し、Provider 外では null を返す */
7
- export declare const useFontContext: () => FontContextValue | null;
8
- export {};
9
- //# sourceMappingURL=FontContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontContext.d.ts","sourceRoot":"","sources":["../../src/fonts/FontContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,UAAU,gBAAgB;IACxB,YAAY,EAAE,kBAAkB,CAAA;CACjC;AAED,eAAO,MAAM,WAAW,kDAA+C,CAAA;AAEvE,8DAA8D;AAC9D,eAAO,MAAM,cAAc,QAAO,gBAAgB,GAAG,IAC5B,CAAA"}
@@ -1,5 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
- export const FontContext = createContext(null);
3
- /** FontProvider 内では fontFamilies を返し、Provider 外では null を返す */
4
- export const useFontContext = () => useContext(FontContext);
5
- //# sourceMappingURL=FontContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontContext.js","sourceRoot":"","sources":["../../src/fonts/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAOjD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAA0B,IAAI,CAAC,CAAA;AAEvE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,GAA4B,EAAE,CAC1D,UAAU,CAAC,WAAW,CAAC,CAAA"}
@@ -1,31 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- interface Props {
3
- /** MSDF 生成に含めるテキスト配列。安定した参照の配列を渡すことを推奨。 */
4
- texts: string[];
5
- children: ReactNode;
6
- /** フォント URL(デフォルト: Noto Sans JP Regular) */
7
- fontUrl?: string;
8
- /** MSDF テクスチャサイズ(デフォルト: [2048, 2048]) */
9
- textureSize?: [number, number];
10
- }
11
- /**
12
- * ツリー全体で MSDF アトラスを共有し、配下で日本語テキストを直接使えるようにする Provider。
13
- *
14
- * `texts` に含まれる文字から MSDF フォントを1回だけ生成し、
15
- * `fontFamilies` を Container 経由で配下に適用する。
16
- * Suspense 対応のため、親に `<Suspense>` が必要。
17
- *
18
- * @example
19
- * ```tsx
20
- * const ALL_TEXTS = ['URLを入力してください', '再接続中...']
21
- *
22
- * <Suspense fallback={null}>
23
- * <FontProvider texts={ALL_TEXTS}>
24
- * <Text fontSize={48}>URLを入力してください</Text>
25
- * </FontProvider>
26
- * </Suspense>
27
- * ```
28
- */
29
- export declare const FontProvider: import("react").MemoExoticComponent<({ texts, fontUrl, textureSize, children }: Props) => import("react/jsx-runtime").JSX.Element>;
30
- export {};
31
- //# sourceMappingURL=FontProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontProvider.d.ts","sourceRoot":"","sources":["../../src/fonts/FontProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK1E,UAAU,KAAK;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,kFACqB,KAAK,6CAuBlD,CAAA"}
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { memo, useMemo, useState, useEffect } from 'react';
3
- import { Container, Text } from '@react-three/uikit';
4
- import { FontContext } from './FontContext';
5
- import { useMsdfFont } from '../hooks/useMsdfFont';
6
- /**
7
- * ツリー全体で MSDF アトラスを共有し、配下で日本語テキストを直接使えるようにする Provider。
8
- *
9
- * `texts` に含まれる文字から MSDF フォントを1回だけ生成し、
10
- * `fontFamilies` を Container 経由で配下に適用する。
11
- * Suspense 対応のため、親に `<Suspense>` が必要。
12
- *
13
- * @example
14
- * ```tsx
15
- * const ALL_TEXTS = ['URLを入力してください', '再接続中...']
16
- *
17
- * <Suspense fallback={null}>
18
- * <FontProvider texts={ALL_TEXTS}>
19
- * <Text fontSize={48}>URLを入力してください</Text>
20
- * </FontProvider>
21
- * </Suspense>
22
- * ```
23
- */
24
- export const FontProvider = memo(({ texts, fontUrl, textureSize, children }) => {
25
- const fontFamilies = useMsdfFont(texts, fontUrl, textureSize);
26
- const value = useMemo(() => ({ fontFamilies }), [fontFamilies]);
27
- // uikit はフォントテクスチャを非同期でロードするため、
28
- // 初回レンダリングでデフォルトの inter フォントへフォールバックし
29
- // "Missing glyph info" 警告が出る。スペースのみの Text で
30
- // フォントロードをトリガーし、次フレームで children を表示する。
31
- const [fontReady, setFontReady] = useState(false);
32
- useEffect(() => {
33
- setFontReady(false);
34
- const id = requestAnimationFrame(() => setFontReady(true));
35
- return () => cancelAnimationFrame(id);
36
- }, [fontFamilies]);
37
- return (_jsx(FontContext.Provider, { value: value, children: _jsx(Container, { fontFamilies: fontFamilies, children: fontReady ? children : _jsx(Text, { fontSize: 1, children: ' ' }) }) }));
38
- });
39
- FontProvider.displayName = 'FontProvider';
40
- //# sourceMappingURL=FontProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontProvider.js","sourceRoot":"","sources":["../../src/fonts/FontProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAYlD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAC9B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAS,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAE/D,gCAAgC;IAChC,sCAAsC;IACtC,4CAA4C;IAC5C,uCAAuC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1D,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;IACvC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,KAAC,SAAS,IAAC,YAAY,EAAE,YAAY,YAClC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,YAAG,GAAG,GAAQ,GAC7C,GACS,CACxB,CAAA;AACH,CAAC,CACF,CAAA;AAED,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA"}
@@ -1,35 +0,0 @@
1
- import { type ComponentProps, type ReactNode } from 'react';
2
- import { Container } from '@react-three/uikit';
3
- type ContainerProps = ComponentProps<typeof Container>;
4
- interface Props extends Omit<ContainerProps, 'children'> {
5
- /** MSDF 生成に含めるテキスト配列。安定した参照の配列を渡すことを推奨。 */
6
- texts: string[];
7
- children: ReactNode;
8
- /** フォント URL(デフォルト: Noto Sans JP Regular) */
9
- fontUrl?: string;
10
- /** MSDF テクスチャサイズ(デフォルト: [2048, 2048]) */
11
- textureSize?: [number, number];
12
- }
13
- /**
14
- * 日本語 MSDF フォントの読み込み・ロード待ちを内包した Container。
15
- *
16
- * `texts` に含まれる文字からフォントを生成し、
17
- * テクスチャのロードが完了してから children を表示する。
18
- * Suspense 対応のため、親に `<Suspense>` が必要。
19
- *
20
- * 複数コンポーネントでアトラスを共有したい場合は `FontProvider` を使用。
21
- *
22
- * @example
23
- * ```tsx
24
- * const TEXTS = ['URLを入力してください']
25
- *
26
- * <Suspense fallback={null}>
27
- * <FontReadyContainer texts={TEXTS} sizeX={4} backgroundColor={0x000000}>
28
- * <Text fontSize={48}>URLを入力してください</Text>
29
- * </FontReadyContainer>
30
- * </Suspense>
31
- * ```
32
- */
33
- export declare const FontReadyContainer: import("react").MemoExoticComponent<({ texts, children, fontUrl, textureSize, ...containerProps }: Props) => import("react/jsx-runtime").JSX.Element>;
34
- export {};
35
- //# sourceMappingURL=FontReadyContainer.d.ts.map