@xrift/world-components 0.47.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 (309) 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 +1 -1
  116. package/dist/contexts/ServerClockContext.d.ts.map +1 -1
  117. package/dist/contexts/SharedFileContext.d.ts +1 -1
  118. package/dist/contexts/SharedFileContext.d.ts.map +1 -1
  119. package/dist/contexts/SpawnPointContext.d.ts +1 -1
  120. package/dist/contexts/SpawnPointContext.d.ts.map +1 -1
  121. package/dist/contexts/TeleportContext.d.ts +1 -1
  122. package/dist/contexts/TeleportContext.d.ts.map +1 -1
  123. package/dist/contexts/TextInputContext.d.ts +1 -1
  124. package/dist/contexts/TextInputContext.d.ts.map +1 -1
  125. package/dist/contexts/UsersContext.d.ts +1 -1
  126. package/dist/contexts/UsersContext.d.ts.map +1 -1
  127. package/dist/contexts/WorldContext.d.ts +1 -1
  128. package/dist/contexts/WorldContext.d.ts.map +1 -1
  129. package/dist/contexts/WorldStorageContext.d.ts +1 -1
  130. package/dist/contexts/WorldStorageContext.d.ts.map +1 -1
  131. package/dist/contexts/XRiftContext.d.ts +1 -1
  132. package/dist/contexts/XRiftContext.d.ts.map +1 -1
  133. package/dist/index.d.ts +3 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +2 -0
  136. package/dist/index.js.map +1 -1
  137. package/package.json +7 -5
  138. package/dist/components/BillboardY/__tests__/utils.test.d.ts +0 -2
  139. package/dist/components/BillboardY/__tests__/utils.test.d.ts.map +0 -1
  140. package/dist/components/BillboardY/__tests__/utils.test.js +0 -45
  141. package/dist/components/BillboardY/__tests__/utils.test.js.map +0 -1
  142. package/dist/components/DevEnvironment/__tests__/utils.test.d.ts +0 -2
  143. package/dist/components/DevEnvironment/__tests__/utils.test.d.ts.map +0 -1
  144. package/dist/components/DevEnvironment/__tests__/utils.test.js +0 -24
  145. package/dist/components/DevEnvironment/__tests__/utils.test.js.map +0 -1
  146. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.d.ts +0 -2
  147. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.d.ts.map +0 -1
  148. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.js +0 -114
  149. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/store.test.js.map +0 -1
  150. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.d.ts +0 -2
  151. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.d.ts.map +0 -1
  152. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.js +0 -103
  153. package/dist/components/DevEnvironment/components/GrabSystem/__tests__/utils.test.js.map +0 -1
  154. package/dist/components/EntryLogBoard/__tests__/utils.test.d.ts +0 -2
  155. package/dist/components/EntryLogBoard/__tests__/utils.test.d.ts.map +0 -1
  156. package/dist/components/EntryLogBoard/__tests__/utils.test.js +0 -231
  157. package/dist/components/EntryLogBoard/__tests__/utils.test.js.map +0 -1
  158. package/dist/components/Grabbable/__tests__/utils.test.d.ts +0 -2
  159. package/dist/components/Grabbable/__tests__/utils.test.d.ts.map +0 -1
  160. package/dist/components/Grabbable/__tests__/utils.test.js +0 -59
  161. package/dist/components/Grabbable/__tests__/utils.test.js.map +0 -1
  162. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.d.ts +0 -8
  163. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.d.ts.map +0 -1
  164. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.js +0 -11
  165. package/dist/components/LiveVideoPlayer/components/ControlPanel/LiveIndicator.js.map +0 -1
  166. package/dist/components/LiveVideoPlayer/components/index.d.ts +0 -3
  167. package/dist/components/LiveVideoPlayer/components/index.d.ts.map +0 -1
  168. package/dist/components/LiveVideoPlayer/components/index.js +0 -3
  169. package/dist/components/LiveVideoPlayer/components/index.js.map +0 -1
  170. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.d.ts +0 -2
  171. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.d.ts.map +0 -1
  172. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.js +0 -196
  173. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/__tests__/utils.test.js.map +0 -1
  174. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.d.ts +0 -2
  175. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.d.ts.map +0 -1
  176. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.js +0 -146
  177. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/HlsJsPlayer.test.js.map +0 -1
  178. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.d.ts +0 -2
  179. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.d.ts.map +0 -1
  180. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.js +0 -94
  181. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/NativeHlsPlayer.test.js.map +0 -1
  182. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.d.ts +0 -2
  183. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.d.ts.map +0 -1
  184. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.js +0 -74
  185. package/dist/components/LiveVideoPlayer/hooks/useHlsVideo/classes/__tests__/RecoveryTracker.test.js.map +0 -1
  186. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.d.ts +0 -25
  187. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.d.ts.map +0 -1
  188. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.js +0 -97
  189. package/dist/components/LiveVideoPlayer/hooks/useLiveVideoPlayer/index.js.map +0 -1
  190. package/dist/components/Mirror/__tests__/utils.test.d.ts +0 -2
  191. package/dist/components/Mirror/__tests__/utils.test.d.ts.map +0 -1
  192. package/dist/components/Mirror/__tests__/utils.test.js +0 -42
  193. package/dist/components/Mirror/__tests__/utils.test.js.map +0 -1
  194. package/dist/components/MsdfText/index.d.ts +0 -24
  195. package/dist/components/MsdfText/index.d.ts.map +0 -1
  196. package/dist/components/MsdfText/index.js +0 -24
  197. package/dist/components/MsdfText/index.js.map +0 -1
  198. package/dist/components/Portal/__tests__/utils.test.d.ts +0 -2
  199. package/dist/components/Portal/__tests__/utils.test.d.ts.map +0 -1
  200. package/dist/components/Portal/__tests__/utils.test.js +0 -56
  201. package/dist/components/Portal/__tests__/utils.test.js.map +0 -1
  202. package/dist/components/ScreenShareDisplay/__tests__/utils.test.d.ts +0 -2
  203. package/dist/components/ScreenShareDisplay/__tests__/utils.test.d.ts.map +0 -1
  204. package/dist/components/ScreenShareDisplay/__tests__/utils.test.js +0 -47
  205. package/dist/components/ScreenShareDisplay/__tests__/utils.test.js.map +0 -1
  206. package/dist/components/TroikaText/index.d.ts +0 -4
  207. package/dist/components/TroikaText/index.d.ts.map +0 -1
  208. package/dist/components/TroikaText/index.js +0 -50
  209. package/dist/components/TroikaText/index.js.map +0 -1
  210. package/dist/components/TroikaText/types.d.ts +0 -19
  211. package/dist/components/TroikaText/types.d.ts.map +0 -1
  212. package/dist/components/TroikaText/types.js +0 -2
  213. package/dist/components/TroikaText/types.js.map +0 -1
  214. package/dist/components/VideoPlayer/ControlPanel.d.ts +0 -3
  215. package/dist/components/VideoPlayer/ControlPanel.d.ts.map +0 -1
  216. package/dist/components/VideoPlayer/ControlPanel.js +0 -34
  217. package/dist/components/VideoPlayer/ControlPanel.js.map +0 -1
  218. package/dist/components/VideoPlayer/ProgressBar.d.ts +0 -3
  219. package/dist/components/VideoPlayer/ProgressBar.d.ts.map +0 -1
  220. package/dist/components/VideoPlayer/ProgressBar.js +0 -21
  221. package/dist/components/VideoPlayer/ProgressBar.js.map +0 -1
  222. package/dist/components/VideoPlayer/__tests__/utils.test.d.ts +0 -2
  223. package/dist/components/VideoPlayer/__tests__/utils.test.d.ts.map +0 -1
  224. package/dist/components/VideoPlayer/__tests__/utils.test.js +0 -23
  225. package/dist/components/VideoPlayer/__tests__/utils.test.js.map +0 -1
  226. package/dist/components/VideoPlayer/components/ProgressBar.d.ts +0 -12
  227. package/dist/components/VideoPlayer/components/ProgressBar.d.ts.map +0 -1
  228. package/dist/components/VideoPlayer/components/ProgressBar.js +0 -21
  229. package/dist/components/VideoPlayer/components/ProgressBar.js.map +0 -1
  230. package/dist/components/VideoPlayer/components/index.d.ts +0 -3
  231. package/dist/components/VideoPlayer/components/index.d.ts.map +0 -1
  232. package/dist/components/VideoPlayer/components/index.js +0 -3
  233. package/dist/components/VideoPlayer/components/index.js.map +0 -1
  234. package/dist/components/VideoPlayer/types.d.ts +0 -44
  235. package/dist/components/VideoPlayer/types.d.ts.map +0 -1
  236. package/dist/components/VideoPlayer/types.js +0 -2
  237. package/dist/components/VideoPlayer/types.js.map +0 -1
  238. package/dist/components/VideoPlayer/utils.test.d.ts +0 -2
  239. package/dist/components/VideoPlayer/utils.test.d.ts.map +0 -1
  240. package/dist/components/VideoPlayer/utils.test.js +0 -23
  241. package/dist/components/VideoPlayer/utils.test.js.map +0 -1
  242. package/dist/components/commons/utils.test.d.ts +0 -2
  243. package/dist/components/commons/utils.test.d.ts.map +0 -1
  244. package/dist/components/commons/utils.test.js +0 -79
  245. package/dist/components/commons/utils.test.js.map +0 -1
  246. package/dist/contexts/FontContext.d.ts +0 -17
  247. package/dist/contexts/FontContext.d.ts.map +0 -1
  248. package/dist/contexts/FontContext.js +0 -25
  249. package/dist/contexts/FontContext.js.map +0 -1
  250. package/dist/contexts/InstanceInfoContext.d.ts +0 -39
  251. package/dist/contexts/InstanceInfoContext.d.ts.map +0 -1
  252. package/dist/contexts/InstanceInfoContext.js +0 -42
  253. package/dist/contexts/InstanceInfoContext.js.map +0 -1
  254. package/dist/contexts/PortalContext.d.ts +0 -39
  255. package/dist/contexts/PortalContext.d.ts.map +0 -1
  256. package/dist/contexts/PortalContext.js +0 -42
  257. package/dist/contexts/PortalContext.js.map +0 -1
  258. package/dist/contexts/WorldEventContext.d.ts +0 -32
  259. package/dist/contexts/WorldEventContext.d.ts.map +0 -1
  260. package/dist/contexts/WorldEventContext.js +0 -54
  261. package/dist/contexts/WorldEventContext.js.map +0 -1
  262. package/dist/contexts/__tests__/ServerClockContext.test.d.ts +0 -2
  263. package/dist/contexts/__tests__/ServerClockContext.test.d.ts.map +0 -1
  264. package/dist/contexts/__tests__/ServerClockContext.test.js +0 -43
  265. package/dist/contexts/__tests__/ServerClockContext.test.js.map +0 -1
  266. package/dist/contexts/__tests__/WorldStorageContext.test.d.ts +0 -2
  267. package/dist/contexts/__tests__/WorldStorageContext.test.d.ts.map +0 -1
  268. package/dist/contexts/__tests__/WorldStorageContext.test.js +0 -120
  269. package/dist/contexts/__tests__/WorldStorageContext.test.js.map +0 -1
  270. package/dist/fonts/FontContext.d.ts +0 -9
  271. package/dist/fonts/FontContext.d.ts.map +0 -1
  272. package/dist/fonts/FontContext.js +0 -5
  273. package/dist/fonts/FontContext.js.map +0 -1
  274. package/dist/fonts/FontProvider.d.ts +0 -31
  275. package/dist/fonts/FontProvider.d.ts.map +0 -1
  276. package/dist/fonts/FontProvider.js +0 -40
  277. package/dist/fonts/FontProvider.js.map +0 -1
  278. package/dist/fonts/FontReadyContainer.d.ts +0 -35
  279. package/dist/fonts/FontReadyContainer.d.ts.map +0 -1
  280. package/dist/fonts/FontReadyContainer.js +0 -40
  281. package/dist/fonts/FontReadyContainer.js.map +0 -1
  282. package/dist/fonts/constants.d.ts +0 -5
  283. package/dist/fonts/constants.d.ts.map +0 -1
  284. package/dist/fonts/constants.js +0 -5
  285. package/dist/fonts/constants.js.map +0 -1
  286. package/dist/fonts/loadTTF.d.ts +0 -18
  287. package/dist/fonts/loadTTF.d.ts.map +0 -1
  288. package/dist/fonts/loadTTF.js +0 -36
  289. package/dist/fonts/loadTTF.js.map +0 -1
  290. package/dist/fonts/useTTF.d.ts +0 -7
  291. package/dist/fonts/useTTF.d.ts.map +0 -1
  292. package/dist/fonts/useTTF.js +0 -9
  293. package/dist/fonts/useTTF.js.map +0 -1
  294. package/dist/hooks/useJapaneseFont.d.ts +0 -7
  295. package/dist/hooks/useJapaneseFont.d.ts.map +0 -1
  296. package/dist/hooks/useJapaneseFont.js +0 -25
  297. package/dist/hooks/useJapaneseFont.js.map +0 -1
  298. package/dist/hooks/useMsdfFont.d.ts +0 -11
  299. package/dist/hooks/useMsdfFont.d.ts.map +0 -1
  300. package/dist/hooks/useMsdfFont.js +0 -19
  301. package/dist/hooks/useMsdfFont.js.map +0 -1
  302. package/dist/hooks/usePortalNavigation.d.ts +0 -10
  303. package/dist/hooks/usePortalNavigation.d.ts.map +0 -1
  304. package/dist/hooks/usePortalNavigation.js +0 -46
  305. package/dist/hooks/usePortalNavigation.js.map +0 -1
  306. package/dist/hooks/useWorldEvent.d.ts +0 -25
  307. package/dist/hooks/useWorldEvent.d.ts.map +0 -1
  308. package/dist/hooks/useWorldEvent.js +0 -45
  309. package/dist/hooks/useWorldEvent.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { useServerClock } from '../../hooks/useServerClock';
3
+ import { computeTargetTime, decideVideoSyncAction, toBufferedRanges } from './utils';
4
+ /** 補正を検討する間隔(ms)。毎フレームやる必要はない */
5
+ const SYNC_CHECK_INTERVAL = 500;
6
+ /**
7
+ * 共有時計のアンカーに合わせて再生位置を追従させる(issue xrift-frontend#1464 Phase 4)
8
+ *
9
+ * アンカー = 「サーバ時刻 `anchorServerTime` のとき再生位置は `anchorMediaTime` だった」。
10
+ * 各クライアントが自分で目標位置を計算するので、**後から入った人も通信ゼロで追いつける**。
11
+ *
12
+ * `useFrame` ではなく `setInterval` で回している。補正は 0.5 秒に一度で十分なうえ、
13
+ * `useFrame` はタブが非表示になると完全に停止してしまうため。
14
+ */
15
+ export const useVideoTimeSync = (params) => {
16
+ const { video, anchorMediaTime, anchorServerTime, isPlaying, loop, enabled } = params;
17
+ const clock = useServerClock({ require: 'media' });
18
+ // 入室直後の一度だけ、バッファを待たずにシークして追いつく
19
+ const positionedRef = useRef(false);
20
+ // アンカーが変わったら位置合わせをやり直す(別の動画・シーク操作)
21
+ useEffect(() => {
22
+ positionedRef.current = false;
23
+ }, [anchorServerTime]);
24
+ // 時計が飛んだら目標が不連続に変わる。次の判定で追いつくため位置合わせからやり直す
25
+ useEffect(() => {
26
+ positionedRef.current = false;
27
+ }, [clock.timeJumpCount]);
28
+ // クロージャの陳腐化を避けつつ、interval を張り直さないための ref
29
+ const stateRef = useRef({ anchorMediaTime, anchorServerTime, isPlaying, loop, clock });
30
+ stateRef.current = { anchorMediaTime, anchorServerTime, isPlaying, loop, clock };
31
+ useEffect(() => {
32
+ if (!video || !enabled)
33
+ return;
34
+ const syncOnce = () => {
35
+ const state = stateRef.current;
36
+ const targetTime = computeTargetTime({
37
+ anchorMediaTime: state.anchorMediaTime,
38
+ anchorServerTime: state.anchorServerTime,
39
+ serverNow: state.clock.now(),
40
+ isPlaying: state.isPlaying,
41
+ duration: video.duration,
42
+ loop: state.loop,
43
+ });
44
+ const action = decideVideoSyncAction({
45
+ targetTime,
46
+ currentTime: video.currentTime,
47
+ buffered: toBufferedRanges(video.buffered),
48
+ trustworthy: state.clock.trustworthy,
49
+ positioned: positionedRef.current,
50
+ });
51
+ // 速度は毎回明示的に戻す(戻し忘れると反対側へ突き抜けて振動し続ける)
52
+ if (video.playbackRate !== action.playbackRate) {
53
+ video.playbackRate = action.playbackRate;
54
+ }
55
+ if (action.type !== 'seek')
56
+ return;
57
+ video.currentTime = action.seekTo;
58
+ positionedRef.current = true;
59
+ };
60
+ syncOnce();
61
+ const interval = setInterval(syncOnce, SYNC_CHECK_INTERVAL);
62
+ return () => {
63
+ clearInterval(interval);
64
+ // 補正をやめるときは速度を戻す
65
+ video.playbackRate = 1;
66
+ };
67
+ }, [video, enabled]);
68
+ };
69
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/components/VideoScreen/hooks.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export type { VideoScreenProps, VideoState } from './types';
4
4
  * VideoScreenコンポーネント
5
5
  * Suspenseでラップして使用する
6
6
  */
7
- export declare function VideoScreen(props: VideoScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function VideoScreen(props: VideoScreenProps): import("react").JSX.Element;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/VideoScreen/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAc,MAAM,SAAS,CAAA;AAEtD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAwH3D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA8BlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/VideoScreen/index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAc,MAAM,SAAS,CAAA;AAEtD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AA2H3D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA8BlD"}
@@ -3,25 +3,29 @@ import { Suspense, useEffect, useRef, useState } from 'react';
3
3
  import { FrontSide } from 'three';
4
4
  import { useVideoTexture } from '@react-three/drei';
5
5
  import { useInstanceState } from '../../hooks/useInstanceState';
6
+ import { useServerClock } from '../../hooks/useServerClock';
6
7
  import { useWebAudioVolume } from '../../hooks/useWebAudioVolume';
8
+ import { useVideoTimeSync } from './hooks';
7
9
  /**
8
10
  * 動画を表示する内部コンポーネント
9
11
  * useVideoTextureを使用するためSuspense内で使用する必要がある
10
12
  */
11
13
  function VideoScreenInner({ id, position = [0, 2, -5], rotation = [0, 0, 0], scale = [16 / 9 * 3, 3], url = '', playing = true, currentTime = 0, sync = 'global', muted = false, volume = 1, }) {
14
+ // 共有時計。アンカーの打刻に使う(端末の Date.now() は互いに 0.1〜数秒ずれている)
15
+ const clock = useServerClock({ require: 'media' });
12
16
  // グローバル同期用の状態
13
17
  const [globalState, setGlobalState] = useInstanceState(`video-${id}`, {
14
18
  url: url,
15
19
  isPlaying: playing,
16
20
  currentTime: currentTime,
17
- serverTime: Date.now(),
21
+ serverTime: clock.now(),
18
22
  });
19
23
  // ローカル専用の状態
20
24
  const [localState, setLocalState] = useState({
21
25
  url: url,
22
26
  isPlaying: playing,
23
27
  currentTime: currentTime,
24
- serverTime: Date.now(),
28
+ serverTime: clock.now(),
25
29
  });
26
30
  // sync modeに応じて使用する状態を切り替え
27
31
  const videoState = sync === 'global' ? globalState : localState;
@@ -32,14 +36,16 @@ function VideoScreenInner({ id, position = [0, 2, -5], rotation = [0, 0, 0], sca
32
36
  if (videoState.url !== url ||
33
37
  videoState.isPlaying !== playing ||
34
38
  videoState.currentTime !== currentTime) {
39
+ // props が変わったらアンカーを打ち直す。
40
+ // 「いまサーバ時刻 X で、再生位置は currentTime である」と宣言する
35
41
  setVideoState({
36
42
  url: url,
37
43
  isPlaying: playing,
38
44
  currentTime: currentTime,
39
- serverTime: Date.now(),
45
+ serverTime: clock.now(),
40
46
  });
41
47
  }
42
- }, [url, playing, currentTime, videoState, setVideoState]);
48
+ }, [url, playing, currentTime, videoState, setVideoState, clock]);
43
49
  // useVideoTextureで動画テクスチャを取得
44
50
  const texture = useVideoTexture(url || '', {
45
51
  muted,
@@ -63,19 +69,18 @@ function VideoScreenInner({ id, position = [0, 2, -5], rotation = [0, 0, 0], sca
63
69
  }, [playing, texture]);
64
70
  // Web Audio API を使用した音量制御(iOS対応)
65
71
  useWebAudioVolume(texture.image, volume);
66
- // 再生位置の同期ロジック(VRChat方式)
67
- // currentTimeが外部から変更された場合のみ同期
68
- const lastSyncTimeRef = useRef(currentTime);
69
- useEffect(() => {
70
- const video = texture.image;
71
- if (!video)
72
- return;
73
- // currentTimeが外部から変更された場合のみシークする
74
- if (lastSyncTimeRef.current !== currentTime) {
75
- video.currentTime = currentTime;
76
- lastSyncTimeRef.current = currentTime;
77
- }
78
- }, [currentTime, texture]);
72
+ // 再生位置の追従(アンカー方式)
73
+ // 状態のアンカーと共有時計から目標位置を計算し、穏やかに寄せる。
74
+ // 後から入った人はここで一度シークして追いつく
75
+ useVideoTimeSync({
76
+ video: texture.image,
77
+ anchorMediaTime: videoState.currentTime,
78
+ anchorServerTime: videoState.serverTime,
79
+ isPlaying: videoState.isPlaying,
80
+ loop: true,
81
+ // ローカル再生は合わせる相手がいないので追従しない
82
+ enabled: sync === 'global',
83
+ });
79
84
  // アンマウント時に動画を停止
80
85
  useEffect(() => {
81
86
  const video = texture.image;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/VideoScreen/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/VideoScreen/index.tsx"],"names":[],"mappings":"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"}
@@ -21,17 +21,27 @@ export interface VideoScreenProps {
21
21
  volume?: number;
22
22
  }
23
23
  /**
24
- * VideoScreenの状態
25
- * useInstanceStateで同期される
24
+ * VideoScreenの状態(useInstanceStateで同期される)
25
+ *
26
+ * `currentTime` と `serverTime` は**アンカー**として使う。
27
+ * 「サーバ時刻 `serverTime` のとき再生位置は `currentTime` だった」という意味で、
28
+ * 各クライアントはここから自分で現在の目標位置を計算する。
29
+ * 「いまの再生位置」を配ると受け取った瞬間には既に古いが、アンカーなら
30
+ * **後から入った人も通信ゼロで正しい位置に追いつける**。
26
31
  */
27
32
  export interface VideoState {
28
33
  /** 動画のURL */
29
34
  url: string;
30
35
  /** 再生中かどうか */
31
36
  isPlaying: boolean;
32
- /** 現在の再生位置(秒) */
37
+ /** アンカーの再生位置(秒) */
33
38
  currentTime: number;
34
- /** サーバータイム(VRChat方式の同期用) */
39
+ /**
40
+ * アンカーのサーバ時刻(ms)
41
+ *
42
+ * 共有時計(`useServerClock`)の値。端末の `Date.now()` は互いに 0.1〜数秒
43
+ * ずれているため、ここに入れてはいけない(実測で 0.66 秒ずれた端末がある)
44
+ */
35
45
  serverTime: number;
36
46
  }
37
47
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/VideoScreen/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxB,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/VideoScreen/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxB,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * アンカー(「サーバ時刻 T のとき再生位置は M だった」)から、
3
+ * いまの再生位置の目標値を求める
4
+ *
5
+ * 状態に「いまの再生位置」を持たせると、受け取った瞬間には既に古い。
6
+ * アンカーで持てば**後から入った人も自分で正しい位置を計算できる**(通信ゼロ)。
7
+ *
8
+ * @param duration 動画の長さ(秒)。ループ再生の折り返しに使う。
9
+ * メタデータ未読み込みで NaN / 0 のときは折り返さない
10
+ */
11
+ export declare function computeTargetTime(params: {
12
+ /** アンカーの再生位置(秒) */
13
+ anchorMediaTime: number;
14
+ /** アンカーのサーバ時刻(ms) */
15
+ anchorServerTime: number;
16
+ /** いまのサーバ時刻(ms) */
17
+ serverNow: number;
18
+ isPlaying: boolean;
19
+ duration: number;
20
+ loop: boolean;
21
+ }): number;
22
+ /** 再生位置がバッファ済みの範囲に入っているか(端の余裕を見る) */
23
+ export declare function isTimeBuffered(buffered: Array<{
24
+ start: number;
25
+ end: number;
26
+ }>, time: number): boolean;
27
+ /** 同期のためにこのフレームで何をするか */
28
+ export type VideoSyncAction =
29
+ /** 何もしない(合っている / 補正のコストが誤差より大きい) */
30
+ {
31
+ type: 'none';
32
+ playbackRate: 1;
33
+ }
34
+ /** 再生速度で穏やかに寄せる */
35
+ | {
36
+ type: 'rate';
37
+ playbackRate: number;
38
+ }
39
+ /** シークで一気に合わせる */
40
+ | {
41
+ type: 'seek';
42
+ seekTo: number;
43
+ playbackRate: 1;
44
+ };
45
+ /**
46
+ * 目標位置と現在位置から、取るべき補正を決める
47
+ *
48
+ * **原則: 補正のコストが誤差より大きいなら補正しない。**
49
+ * ズレを直すためにシークしてバッファが切れるくらいなら、ズレたまま再生を続けるほうが
50
+ * 体験は良い。これを守らないと「ズレる → シーク → バッファ切れ → さらにズレる」の
51
+ * 無限ループになる(VR180 プレイヤーで実際に起きた)。
52
+ *
53
+ * @param positioned 一度でも位置合わせが済んでいるか。
54
+ * 入室直後(false)はバッファが無いのが当たり前なので、
55
+ * バッファ判定を待たずにシークする(これが late-join の追いつき)
56
+ */
57
+ export declare function decideVideoSyncAction(params: {
58
+ targetTime: number;
59
+ currentTime: number;
60
+ buffered: Array<{
61
+ start: number;
62
+ end: number;
63
+ }>;
64
+ /** 共有時計が用途に足る精度か。false なら合わせにいかない */
65
+ trustworthy: boolean;
66
+ positioned: boolean;
67
+ }): VideoSyncAction;
68
+ /** `TimeRanges` を素の配列にする(テストしやすくするため) */
69
+ export declare function toBufferedRanges(ranges: TimeRanges | null): Array<{
70
+ start: number;
71
+ end: number;
72
+ }>;
73
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/VideoScreen/utils.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,mBAAmB;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd,GAAG,MAAM,CAaT;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,IAAI,EAAE,MAAM,GACX,OAAO,CAIT;AAED,yBAAyB;AACzB,MAAM,MAAM,eAAe;AACzB,oCAAoC;AAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,CAAC,CAAA;CAAE;AACnC,mBAAmB;GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AACxC,kBAAkB;GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,CAAC,CAAA;CAAE,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,qCAAqC;IACrC,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,eAAe,CA2BlB;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjG"}
@@ -0,0 +1,74 @@
1
+ import { SYNC_BUFFER_MARGIN, SYNC_DEAD_BAND, SYNC_RATE_ADJUSTMENT, SYNC_RATE_LIMIT, } from './constants';
2
+ /**
3
+ * アンカー(「サーバ時刻 T のとき再生位置は M だった」)から、
4
+ * いまの再生位置の目標値を求める
5
+ *
6
+ * 状態に「いまの再生位置」を持たせると、受け取った瞬間には既に古い。
7
+ * アンカーで持てば**後から入った人も自分で正しい位置を計算できる**(通信ゼロ)。
8
+ *
9
+ * @param duration 動画の長さ(秒)。ループ再生の折り返しに使う。
10
+ * メタデータ未読み込みで NaN / 0 のときは折り返さない
11
+ */
12
+ export function computeTargetTime(params) {
13
+ const { anchorMediaTime, anchorServerTime, serverNow, isPlaying, duration, loop } = params;
14
+ // 停止中は時間が進まないので、アンカーの位置がそのまま目標
15
+ if (!isPlaying)
16
+ return Math.max(0, anchorMediaTime);
17
+ const elapsed = (serverNow - anchorServerTime) / 1000;
18
+ const target = anchorMediaTime + elapsed;
19
+ if (!loop || !Number.isFinite(duration) || duration <= 0)
20
+ return Math.max(0, target);
21
+ // ループ再生では長さで折り返す。負にもなり得る(アンカーが未来の場合)ので剰余を正規化する
22
+ return ((target % duration) + duration) % duration;
23
+ }
24
+ /** 再生位置がバッファ済みの範囲に入っているか(端の余裕を見る) */
25
+ export function isTimeBuffered(buffered, time) {
26
+ return buffered.some((range) => time >= range.start && time <= range.end - SYNC_BUFFER_MARGIN);
27
+ }
28
+ /**
29
+ * 目標位置と現在位置から、取るべき補正を決める
30
+ *
31
+ * **原則: 補正のコストが誤差より大きいなら補正しない。**
32
+ * ズレを直すためにシークしてバッファが切れるくらいなら、ズレたまま再生を続けるほうが
33
+ * 体験は良い。これを守らないと「ズレる → シーク → バッファ切れ → さらにズレる」の
34
+ * 無限ループになる(VR180 プレイヤーで実際に起きた)。
35
+ *
36
+ * @param positioned 一度でも位置合わせが済んでいるか。
37
+ * 入室直後(false)はバッファが無いのが当たり前なので、
38
+ * バッファ判定を待たずにシークする(これが late-join の追いつき)
39
+ */
40
+ export function decideVideoSyncAction(params) {
41
+ const { targetTime, currentTime, buffered, trustworthy, positioned } = params;
42
+ // 時計が信用できないなら同期を諦める。精度が出ていないのに合わせにいくと体験を壊す
43
+ if (!trustworthy)
44
+ return { type: 'none', playbackRate: 1 };
45
+ // 入室直後は一度だけ無条件にシークして追いつく(バッファはこれから作られる)
46
+ if (!positioned)
47
+ return { type: 'seek', seekTo: targetTime, playbackRate: 1 };
48
+ const diff = targetTime - currentTime;
49
+ const distance = Math.abs(diff);
50
+ // 合っている。速度を戻すのを忘れると反対側へ突き抜けて振動し続ける
51
+ if (distance < SYNC_DEAD_BAND)
52
+ return { type: 'none', playbackRate: 1 };
53
+ // 速度で吸収できる範囲は穏やかに寄せる(シークより体験が良い)
54
+ if (distance < SYNC_RATE_LIMIT) {
55
+ return { type: 'rate', playbackRate: 1 + Math.sign(diff) * SYNC_RATE_ADJUSTMENT };
56
+ }
57
+ // 目標がバッファ内にあるときだけシークする。
58
+ // バッファ外へのシークは再生が止まるので、ズレたまま再生を続けるほうがまし
59
+ if (isTimeBuffered(buffered, targetTime)) {
60
+ return { type: 'seek', seekTo: targetTime, playbackRate: 1 };
61
+ }
62
+ return { type: 'none', playbackRate: 1 };
63
+ }
64
+ /** `TimeRanges` を素の配列にする(テストしやすくするため) */
65
+ export function toBufferedRanges(ranges) {
66
+ if (!ranges)
67
+ return [];
68
+ const result = [];
69
+ for (let index = 0; index < ranges.length; index++) {
70
+ result.push({ start: ranges.start(index), end: ranges.end(index) });
71
+ }
72
+ return result;
73
+ }
74
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/VideoScreen/utils.ts"],"names":[],"mappings":"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"}
@@ -19,5 +19,5 @@ export interface IconButtonProps {
19
19
  /**
20
20
  * 円形のアイコンボタン
21
21
  */
22
- export declare const IconButton: import("react").MemoExoticComponent<({ id, position, size, icon, interactionText, onInteract, backgroundColor, iconColor, }: IconButtonProps) => import("react/jsx-runtime").JSX.Element>;
22
+ export declare const IconButton: import("react").MemoExoticComponent<({ id, position, size, icon, interactionText, onInteract, backgroundColor, iconColor, }: IconButtonProps) => import("react").JSX.Element>;
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/IconButton/index.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc;IACd,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,+HAUlB,eAAe,6CAqBnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/IconButton/index.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc;IACd,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,+HAUlB,eAAe,iCAqBnB,CAAC"}
@@ -4,6 +4,6 @@ interface PlaceholderScreenProps {
4
4
  color: string;
5
5
  }
6
6
  /** プレースホルダー画面(読み込み中/エラー時/URL未設定時) */
7
- export declare const PlaceholderScreen: import("react").MemoExoticComponent<({ width, screenHeight, color }: PlaceholderScreenProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export declare const PlaceholderScreen: import("react").MemoExoticComponent<({ width, screenHeight, color }: PlaceholderScreenProps) => import("react").JSX.Element>;
8
8
  export {};
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/PlaceholderScreen/index.tsx"],"names":[],"mappings":"AAGA,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,uEACK,sBAAsB,6CAMxD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/PlaceholderScreen/index.tsx"],"names":[],"mappings":"AAGA,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,uEACK,sBAAsB,iCAMxD,CAAA"}
@@ -10,5 +10,5 @@ export interface VideoMeshProps {
10
10
  /**
11
11
  * 動画テクスチャをレターボックス/ピラーボックス対応で表示するメッシュ
12
12
  */
13
- export declare const VideoMesh: import("react").MemoExoticComponent<({ texture, width, height }: VideoMeshProps) => import("react/jsx-runtime").JSX.Element>;
13
+ export declare const VideoMesh: import("react").MemoExoticComponent<({ texture, width, height }: VideoMeshProps) => import("react").JSX.Element>;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/VideoMesh/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsC/B,MAAM,WAAW,cAAc;IAC7B,cAAc;IACd,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC5B,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mEAAqC,cAAc,6CAgEvE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/VideoMesh/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsC/B,MAAM,WAAW,cAAc;IAC7B,cAAc;IACd,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC5B,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mEAAqC,cAAc,iCAgEvE,CAAC"}
@@ -5,5 +5,5 @@ export interface VolumeControlProps {
5
5
  volume: number;
6
6
  onVolumeChange: (volume: number) => void;
7
7
  }
8
- export declare const VolumeControl: import("react").MemoExoticComponent<({ id, position, size, volume, onVolumeChange }: VolumeControlProps) => import("react/jsx-runtime").JSX.Element>;
8
+ export declare const VolumeControl: import("react").MemoExoticComponent<({ id, position, size, volume, onVolumeChange }: VolumeControlProps) => import("react").JSX.Element>;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/VolumeControl/index.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAID,eAAO,MAAM,aAAa,uFACyB,kBAAkB,6CAiEpE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/commons/VolumeControl/index.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAID,eAAO,MAAM,aAAa,uFACyB,kBAAkB,iCAiEpE,CAAA"}
@@ -28,9 +28,9 @@ interface Props {
28
28
  /**
29
29
  * 音量オーバーライド機能を提供する ContextProvider
30
30
  */
31
- export declare const VoiceVolumeOverrideProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const VoiceVolumeOverrideProvider: ({ value, children }: Props) => import("react").JSX.Element;
32
32
  /** @deprecated Use VoiceVolumeOverrideProvider instead */
33
- export declare const AudioVolumeProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
33
+ export declare const AudioVolumeProvider: ({ value, children }: Props) => import("react").JSX.Element;
34
34
  /**
35
35
  * 音量オーバーライドの Context を取得する hook
36
36
  * @throws {Error} VoiceVolumeOverrideProvider の外で呼び出された場合
@@ -1 +1 @@
1
- {"version":3,"file":"AudioVolumeContext.d.ts","sourceRoot":"","sources":["../../src/contexts/AudioVolumeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChD;AAED,8DAA8D;AAC9D,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,8CAA8C,QAAO,+BAKhE,CAAA;AAEF,6EAA6E;AAC7E,eAAO,MAAM,sCAAsC,QARe,+BAQkC,CAAA;AAEpG;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iEAA8D,CAAA;AAErG,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,iEAA6B,CAAA;AAE5D,UAAU,KAAK;IACb,KAAK,EAAE,+BAA+B,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,qBAAqB,KAAK,4CAErE,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,wBALiC,KAAK,4CAKR,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,QAAO,+BAMhD,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,QATe,+BASiB,CAAA"}
1
+ {"version":3,"file":"AudioVolumeContext.d.ts","sourceRoot":"","sources":["../../src/contexts/AudioVolumeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChD;AAED,8DAA8D;AAC9D,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,8CAA8C,QAAO,+BAKhE,CAAA;AAEF,6EAA6E;AAC7E,eAAO,MAAM,sCAAsC,QARe,+BAQkC,CAAA;AAEpG;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iEAA8D,CAAA;AAErG,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,iEAA6B,CAAA;AAE5D,UAAU,KAAK;IACb,KAAK,EAAE,+BAA+B,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,qBAAqB,KAAK,gCAErE,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,wBALiC,KAAK,gCAKR,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,QAAO,+BAMhD,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,QATe,+BASiB,CAAA"}
@@ -25,7 +25,7 @@ interface Props {
25
25
  /**
26
26
  * 確認モーダル機能を提供する ContextProvider
27
27
  */
28
- export declare const ConfirmProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const ConfirmProvider: ({ value, children }: Props) => import("react").JSX.Element;
29
29
  /**
30
30
  * 確認モーダルの Context を取得する hook
31
31
  * @throws {Error} ConfirmProvider の外で呼び出された場合
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmContext.d.ts","sourceRoot":"","sources":["../../src/contexts/ConfirmContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAO,mBAEpD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,qDAAkD,CAAA;AAE7E,UAAU,KAAK;IACb,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,qBAAqB,KAAK,4CAEzD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,mBAMpC,CAAA"}
1
+ {"version":3,"file":"ConfirmContext.d.ts","sourceRoot":"","sources":["../../src/contexts/ConfirmContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAO,mBAEpD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,qDAAkD,CAAA;AAE7E,UAAU,KAAK;IACb,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,qBAAqB,KAAK,gCAEzD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,mBAMpC,CAAA"}
@@ -59,7 +59,7 @@ interface Props {
59
59
  /**
60
60
  * ファイル入力のContextProvider
61
61
  */
62
- export declare const FileInputProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
62
+ export declare const FileInputProvider: ({ value, children }: Props) => import("react").JSX.Element;
63
63
  /**
64
64
  * ファイル入力の機能を取得するhook
65
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileInputContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FileInputContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACjC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,QAAO,qBA8BtD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,uDAAoD,CAAA;AAEjF,UAAU,KAAK;IACb,KAAK,EAAE,qBAAqB,CAAA;IAC5B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,qBAAqB,KAAK,4CAE3D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAQtC,CAAA"}
1
+ {"version":3,"file":"FileInputContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FileInputContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACjC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,QAAO,qBA8BtD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,uDAAoD,CAAA;AAEjF,UAAU,KAAK;IACb,KAAK,EAAE,qBAAqB,CAAA;IAC5B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,qBAAqB,KAAK,gCAE3D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAQtC,CAAA"}
@@ -68,7 +68,7 @@ interface Props {
68
68
  * 掴める対象を提供するContextProvider
69
69
  * プラットフォーム側(xrift-frontend)が掴める対象を取得するために使用
70
70
  */
71
- export declare const GrabbableProvider: ({ implementation, children }: Props) => import("react/jsx-runtime").JSX.Element;
71
+ export declare const GrabbableProvider: ({ implementation, children }: Props) => import("react").JSX.Element;
72
72
  /**
73
73
  * 掴める対象の登録・掴み状態を取得するhook
74
74
  * 主に <Grabbable> コンポーネント内部で使用する
@@ -1 +1 @@
1
- {"version":3,"file":"GrabbableContext.d.ts","sourceRoot":"","sources":["../../src/contexts/GrabbableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE/D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,QAAQ,EAAE,UAAU,CAAA;IACpB,qBAAqB;IACrB,QAAQ,EAAE,UAAU,CAAA;IACpB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,UAAU,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,SAAS,CAAA;IAC5B,sCAAsC;IACtC,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAChD,iCAAiC;IACjC,YAAY,EAAE,MAAM,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IAC9D,oBAAoB;IACpB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,2CAA2C;IAC3C,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACjC,kDAAkD;IAClD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;CACzD;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,QAAO,qBAavD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,gDAE5B,CAAA;AAED,UAAU,KAAK;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,8BAA8B,KAAK,4CAOpE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAAqD,CAAA"}
1
+ {"version":3,"file":"GrabbableContext.d.ts","sourceRoot":"","sources":["../../src/contexts/GrabbableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE/D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,QAAQ,EAAE,UAAU,CAAA;IACpB,qBAAqB;IACrB,QAAQ,EAAE,UAAU,CAAA;IACpB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,UAAU,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,SAAS,CAAA;IAC5B,sCAAsC;IACtC,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAChD,iCAAiC;IACjC,YAAY,EAAE,MAAM,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IAC9D,oBAAoB;IACpB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,2CAA2C;IAC3C,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACjC,kDAAkD;IAClD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;CACzD;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,QAAO,qBAavD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,gDAE5B,CAAA;AAED,UAAU,KAAK;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,8BAA8B,KAAK,gCAOpE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAAqD,CAAA"}
@@ -38,7 +38,7 @@ interface Props {
38
38
  /**
39
39
  * インスタンス情報の取得・遷移機能を提供する ContextProvider
40
40
  */
41
- export declare const InstanceProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
41
+ export declare const InstanceProvider: ({ value, children }: Props) => import("react").JSX.Element;
42
42
  /**
43
43
  * インスタンスの Context を取得する hook
44
44
  * @throws {Error} InstanceProvider の外で呼び出された場合
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;IACD,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,+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,mCAAmC,QAAO,oBA0BrD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,sDAAmD,CAAA;AAE/E,UAAU,KAAK;IACb,KAAK,EAAE,oBAAoB,CAAA;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,KAAK,4CAE1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,oBAMrC,CAAA"}
1
+ {"version":3,"file":"InstanceContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;IACD,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,+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,mCAAmC,QAAO,oBA0BrD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,sDAAmD,CAAA;AAE/E,UAAU,KAAK;IACb,KAAK,EAAE,oBAAoB,CAAA;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,KAAK,gCAE1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,oBAMrC,CAAA"}
@@ -22,7 +22,7 @@ interface Props {
22
22
  /**
23
23
  * インスタンスイベントの送受信を提供する ContextProvider
24
24
  */
25
- export declare const InstanceEventProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const InstanceEventProvider: ({ value, children }: Props) => import("react").JSX.Element;
26
26
  /**
27
27
  * インスタンスイベントの Context を取得する hook
28
28
  * @throws {Error} InstanceEventProvider の外で呼び出された場合
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceEventContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceEventContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,2BAA2B;IAC3B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/E,wBAAwB;IACxB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,wCAAwC,QAAO,yBA2B3D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2DAAwD,CAAA;AAEzF,UAAU,KAAK;IACb,KAAK,EAAE,yBAAyB,CAAA;IAChC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,qBAAqB,KAAK,4CAE/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,yBAM1C,CAAA"}
1
+ {"version":3,"file":"InstanceEventContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceEventContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,2BAA2B;IAC3B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/E,wBAAwB;IACxB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,wCAAwC,QAAO,yBA2B3D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2DAAwD,CAAA;AAEzF,UAAU,KAAK;IACb,KAAK,EAAE,yBAAyB,CAAA;IAChC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,qBAAqB,KAAK,gCAE/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,yBAM1C,CAAA"}
@@ -39,7 +39,7 @@ interface Props {
39
39
  * <WorldComponent />
40
40
  * </InstanceStateProvider>
41
41
  */
42
- export declare const InstanceStateProvider: ({ implementation, children }: Props) => import("react/jsx-runtime").JSX.Element;
42
+ export declare const InstanceStateProvider: ({ implementation, children }: Props) => import("react").JSX.Element;
43
43
  /**
44
44
  * インスタンス状態のContextを取得するhook
45
45
  * 通常、ワールド作成者は直接このhookを使用せず、useInstanceStateを使用する
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceStateContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B;;;;OAIG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvD;AAiBD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oDAEhC,CAAA;AAED,UAAU,KAAK;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAA;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAAI,8BAA8B,KAAK,4CASxE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,yBAE1C,CAAA"}
1
+ {"version":3,"file":"InstanceStateContext.d.ts","sourceRoot":"","sources":["../../src/contexts/InstanceStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B;;;;OAIG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvD;AAiBD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oDAEhC,CAAA;AAED,UAAU,KAAK;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAA;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAAI,8BAA8B,KAAK,gCASxE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,yBAE1C,CAAA"}