@dcl/ecs 7.1.12-4982829389.commit-f2f84bd → 7.1.12-4983011170.commit-adaaaa2

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 (299) hide show
  1. package/dist-cjs/components/component-number.d.ts +7 -0
  2. package/dist-cjs/components/component-number.js +44 -0
  3. package/dist-cjs/components/extended/Animator.d.ts +46 -0
  4. package/dist-cjs/components/extended/Animator.js +62 -0
  5. package/dist-cjs/components/extended/Material.d.ts +42 -0
  6. package/dist-cjs/components/extended/Material.js +54 -0
  7. package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
  8. package/dist-cjs/components/extended/MeshCollider.js +43 -0
  9. package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
  10. package/dist-cjs/components/extended/MeshRenderer.js +31 -0
  11. package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
  12. package/dist-cjs/components/generated/Animator.gen.js +28 -0
  13. package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
  14. package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
  15. package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
  16. package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
  17. package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
  18. package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
  19. package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
  20. package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
  21. package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
  22. package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
  23. package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
  24. package/dist-cjs/components/generated/Billboard.gen.js +28 -0
  25. package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
  26. package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
  27. package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
  28. package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
  29. package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
  30. package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
  31. package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
  32. package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
  33. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
  35. package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
  36. package/dist-cjs/components/generated/Material.gen.js +28 -0
  37. package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
  38. package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
  39. package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
  40. package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
  41. package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
  42. package/dist-cjs/components/generated/NftShape.gen.js +28 -0
  43. package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
  44. package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
  45. package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
  46. package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
  47. package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
  48. package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
  49. package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
  50. package/dist-cjs/components/generated/Raycast.gen.js +28 -0
  51. package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
  52. package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
  53. package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
  54. package/dist-cjs/components/generated/TextShape.gen.js +28 -0
  55. package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
  56. package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
  57. package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
  58. package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
  59. package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
  60. package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
  61. package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
  62. package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
  63. package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
  64. package/dist-cjs/components/generated/UiInput.gen.js +28 -0
  65. package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
  66. package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
  67. package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
  68. package/dist-cjs/components/generated/UiText.gen.js +28 -0
  69. package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
  70. package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
  71. package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
  72. package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
  73. package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
  74. package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
  75. package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
  76. package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
  77. package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
  78. package/dist-cjs/components/generated/component-names.gen.js +42 -0
  79. package/dist-cjs/components/generated/global.gen.d.ts +60 -0
  80. package/dist-cjs/components/generated/global.gen.js +61 -0
  81. package/dist-cjs/components/generated/index.gen.d.ts +139 -0
  82. package/dist-cjs/components/generated/index.gen.js +222 -0
  83. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
  84. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
  85. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
  86. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
  87. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
  88. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
  89. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
  90. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
  94. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
  101. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
  102. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
  103. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
  104. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
  105. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
  106. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
  107. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
  108. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
  109. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
  110. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
  111. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +47 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
  169. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
  170. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
  171. package/dist-cjs/components/generated/types.gen.d.ts +9 -0
  172. package/dist-cjs/components/generated/types.gen.js +30 -0
  173. package/dist-cjs/components/index.d.ts +14 -0
  174. package/dist-cjs/components/index.js +38 -0
  175. package/dist-cjs/components/manual/Transform.d.ts +40 -0
  176. package/dist-cjs/components/manual/Transform.js +110 -0
  177. package/dist-cjs/components/types.d.ts +5 -0
  178. package/dist-cjs/components/types.js +2 -0
  179. package/dist-cjs/composite/components.d.ts +18 -0
  180. package/dist-cjs/composite/components.js +22 -0
  181. package/dist-cjs/composite/index.d.ts +51 -0
  182. package/dist-cjs/composite/index.js +60 -0
  183. package/dist-cjs/composite/instance.d.ts +34 -0
  184. package/dist-cjs/composite/instance.js +201 -0
  185. package/dist-cjs/composite/path.d.ts +3 -0
  186. package/dist-cjs/composite/path.js +154 -0
  187. package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
  188. package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
  189. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
  190. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
  191. package/dist-cjs/engine/component.d.ts +149 -0
  192. package/dist-cjs/engine/component.js +12 -0
  193. package/dist-cjs/engine/entity.d.ts +49 -0
  194. package/dist-cjs/engine/entity.js +178 -0
  195. package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
  196. package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
  197. package/dist-cjs/engine/index.d.ts +15 -0
  198. package/dist-cjs/engine/index.js +247 -0
  199. package/dist-cjs/engine/input.d.ts +34 -0
  200. package/dist-cjs/engine/input.js +219 -0
  201. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
  202. package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
  203. package/dist-cjs/engine/readonly.d.ts +29 -0
  204. package/dist-cjs/engine/readonly.js +10 -0
  205. package/dist-cjs/engine/systems.d.ts +15 -0
  206. package/dist-cjs/engine/systems.js +48 -0
  207. package/dist-cjs/engine/types.d.ts +215 -0
  208. package/dist-cjs/engine/types.js +17 -0
  209. package/dist-cjs/index.d.ts +22 -0
  210. package/dist-cjs/index.js +58 -0
  211. package/dist-cjs/runtime/crc.d.ts +1 -0
  212. package/dist-cjs/runtime/crc.js +45 -0
  213. package/dist-cjs/runtime/helpers/index.d.ts +1 -0
  214. package/dist-cjs/runtime/helpers/index.js +17 -0
  215. package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
  216. package/dist-cjs/runtime/helpers/tree.js +77 -0
  217. package/dist-cjs/runtime/initialization/index.d.ts +61 -0
  218. package/dist-cjs/runtime/initialization/index.js +56 -0
  219. package/dist-cjs/runtime/invariant.d.ts +4 -0
  220. package/dist-cjs/runtime/invariant.js +17 -0
  221. package/dist-cjs/runtime/types.d.ts +6 -0
  222. package/dist-cjs/runtime/types.js +18 -0
  223. package/dist-cjs/schemas/Array.d.ts +1 -0
  224. package/dist-cjs/schemas/Array.js +33 -0
  225. package/dist-cjs/schemas/ISchema.d.ts +35 -0
  226. package/dist-cjs/schemas/ISchema.js +2 -0
  227. package/dist-cjs/schemas/Map.d.ts +20 -0
  228. package/dist-cjs/schemas/Map.js +49 -0
  229. package/dist-cjs/schemas/OneOf.d.ts +10 -0
  230. package/dist-cjs/schemas/OneOf.js +35 -0
  231. package/dist-cjs/schemas/Optional.d.ts +1 -0
  232. package/dist-cjs/schemas/Optional.js +34 -0
  233. package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
  234. package/dist-cjs/schemas/basic/Boolean.js +21 -0
  235. package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
  236. package/dist-cjs/schemas/basic/Enum.js +101 -0
  237. package/dist-cjs/schemas/basic/Float.d.ts +1 -0
  238. package/dist-cjs/schemas/basic/Float.js +39 -0
  239. package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
  240. package/dist-cjs/schemas/basic/Integer.js +75 -0
  241. package/dist-cjs/schemas/basic/String.d.ts +1 -0
  242. package/dist-cjs/schemas/basic/String.js +25 -0
  243. package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
  244. package/dist-cjs/schemas/buildSchema/index.js +114 -0
  245. package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
  246. package/dist-cjs/schemas/buildSchema/types.js +2 -0
  247. package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
  248. package/dist-cjs/schemas/buildSchema/utils.js +30 -0
  249. package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
  250. package/dist-cjs/schemas/custom/Color3.js +32 -0
  251. package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
  252. package/dist-cjs/schemas/custom/Color4.js +35 -0
  253. package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
  254. package/dist-cjs/schemas/custom/Entity.js +21 -0
  255. package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
  256. package/dist-cjs/schemas/custom/Quaternion.js +35 -0
  257. package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
  258. package/dist-cjs/schemas/custom/Vector3.js +33 -0
  259. package/dist-cjs/schemas/index.d.ts +80 -0
  260. package/dist-cjs/schemas/index.js +84 -0
  261. package/dist-cjs/schemas/typing.d.ts +30 -0
  262. package/dist-cjs/schemas/typing.js +2 -0
  263. package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
  264. package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
  265. package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
  266. package/dist-cjs/serialization/crdt/appendValue.js +52 -0
  267. package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
  268. package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
  269. package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
  270. package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
  271. package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
  272. package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
  273. package/dist-cjs/serialization/crdt/index.d.ts +6 -0
  274. package/dist-cjs/serialization/crdt/index.js +22 -0
  275. package/dist-cjs/serialization/crdt/message.d.ts +3 -0
  276. package/dist-cjs/serialization/crdt/message.js +28 -0
  277. package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
  278. package/dist-cjs/serialization/crdt/putComponent.js +50 -0
  279. package/dist-cjs/serialization/crdt/types.d.ts +147 -0
  280. package/dist-cjs/serialization/crdt/types.js +77 -0
  281. package/dist-cjs/systems/async-task.d.ts +1 -0
  282. package/dist-cjs/systems/async-task.js +33 -0
  283. package/dist-cjs/systems/crdt/gset.d.ts +29 -0
  284. package/dist-cjs/systems/crdt/gset.js +54 -0
  285. package/dist-cjs/systems/crdt/index.d.ts +7 -0
  286. package/dist-cjs/systems/crdt/index.js +241 -0
  287. package/dist-cjs/systems/crdt/types.d.ts +20 -0
  288. package/dist-cjs/systems/crdt/types.js +2 -0
  289. package/dist-cjs/systems/crdt/utils.d.ts +15 -0
  290. package/dist-cjs/systems/crdt/utils.js +52 -0
  291. package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
  292. package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
  293. package/dist-cjs/systems/events.d.ts +49 -0
  294. package/dist-cjs/systems/events.js +137 -0
  295. package/dist-cjs/systems/raycast.d.ts +80 -0
  296. package/dist-cjs/systems/raycast.js +124 -0
  297. package/dist-cjs/systems/videoEvents.d.ts +14 -0
  298. package/dist-cjs/systems/videoEvents.js +89 -0
  299. package/package.json +5 -4
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListValue = exports.Value = exports.Struct_FieldsEntry = exports.Struct = exports.nullValueToJSON = exports.nullValueFromJSON = exports.NullValue = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ const protobufPackageSarasa = "google.protobuf";
10
+ /**
11
+ * `NullValue` is a singleton enumeration to represent the null value for the
12
+ * `Value` type union.
13
+ *
14
+ * The JSON representation for `NullValue` is JSON `null`.
15
+ */
16
+ /**
17
+ * @public
18
+ */
19
+ var NullValue;
20
+ (function (NullValue) {
21
+ /** NULL_VALUE - Null value. */
22
+ NullValue[NullValue["NULL_VALUE"] = 0] = "NULL_VALUE";
23
+ })(NullValue = exports.NullValue || (exports.NullValue = {}));
24
+ /**
25
+ * @public
26
+ */
27
+ function nullValueFromJSON(object) {
28
+ switch (object) {
29
+ case 0:
30
+ case "NULL_VALUE":
31
+ return 0 /* NullValue.NULL_VALUE */;
32
+ default:
33
+ throw new tsProtoGlobalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
34
+ }
35
+ }
36
+ exports.nullValueFromJSON = nullValueFromJSON;
37
+ /**
38
+ * @public
39
+ */
40
+ function nullValueToJSON(object) {
41
+ switch (object) {
42
+ case 0 /* NullValue.NULL_VALUE */:
43
+ return "NULL_VALUE";
44
+ default:
45
+ throw new tsProtoGlobalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
46
+ }
47
+ }
48
+ exports.nullValueToJSON = nullValueToJSON;
49
+ function createBaseStruct() {
50
+ return { fields: new Map() };
51
+ }
52
+ /**
53
+ * @public
54
+ */
55
+ var Struct;
56
+ (function (Struct) {
57
+ function encode(message, writer = minimal_1.default.Writer.create()) {
58
+ (message.fields).forEach((value, key) => {
59
+ if (value !== undefined) {
60
+ Struct_FieldsEntry.encode({ key: key, value }, writer.uint32(10).fork()).ldelim();
61
+ }
62
+ });
63
+ return writer;
64
+ }
65
+ Struct.encode = encode;
66
+ function decode(input, length) {
67
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
68
+ let end = length === undefined ? reader.len : reader.pos + length;
69
+ const message = createBaseStruct();
70
+ while (reader.pos < end) {
71
+ const tag = reader.uint32();
72
+ switch (tag >>> 3) {
73
+ case 1:
74
+ if (tag !== 10) {
75
+ break;
76
+ }
77
+ const entry1 = Struct_FieldsEntry.decode(reader, reader.uint32());
78
+ if (entry1.value !== undefined) {
79
+ message.fields.set(entry1.key, entry1.value);
80
+ }
81
+ continue;
82
+ }
83
+ if ((tag & 7) === 4 || tag === 0) {
84
+ break;
85
+ }
86
+ reader.skipType(tag & 7);
87
+ }
88
+ return message;
89
+ }
90
+ Struct.decode = decode;
91
+ function fromJSON(object) {
92
+ return {
93
+ fields: isObject(object.fields)
94
+ ? Object.entries(object.fields).reduce((acc, [key, value]) => {
95
+ acc.set(key, value);
96
+ return acc;
97
+ }, new Map())
98
+ : new Map(),
99
+ };
100
+ }
101
+ Struct.fromJSON = fromJSON;
102
+ function toJSON(message) {
103
+ const obj = {};
104
+ obj.fields = {};
105
+ if (message.fields) {
106
+ message.fields.forEach((v, k) => {
107
+ obj.fields[k] = v;
108
+ });
109
+ }
110
+ return obj;
111
+ }
112
+ Struct.toJSON = toJSON;
113
+ function wrap(object) {
114
+ const struct = createBaseStruct();
115
+ if (object !== undefined) {
116
+ Object.keys(object).forEach((key) => {
117
+ struct.fields.set(key, object[key]);
118
+ });
119
+ }
120
+ return struct;
121
+ }
122
+ Struct.wrap = wrap;
123
+ function unwrap(message) {
124
+ const object = {};
125
+ [...message.fields.keys()].forEach((key) => {
126
+ object[key] = message.fields.get(key);
127
+ });
128
+ return object;
129
+ }
130
+ Struct.unwrap = unwrap;
131
+ })(Struct = exports.Struct || (exports.Struct = {}));
132
+ function createBaseStruct_FieldsEntry() {
133
+ return { key: "", value: undefined };
134
+ }
135
+ /**
136
+ * @public
137
+ */
138
+ var Struct_FieldsEntry;
139
+ (function (Struct_FieldsEntry) {
140
+ function encode(message, writer = minimal_1.default.Writer.create()) {
141
+ if (message.key !== "") {
142
+ writer.uint32(10).string(message.key);
143
+ }
144
+ if (message.value !== undefined) {
145
+ Value.encode(Value.wrap(message.value), writer.uint32(18).fork()).ldelim();
146
+ }
147
+ return writer;
148
+ }
149
+ Struct_FieldsEntry.encode = encode;
150
+ function decode(input, length) {
151
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
152
+ let end = length === undefined ? reader.len : reader.pos + length;
153
+ const message = createBaseStruct_FieldsEntry();
154
+ while (reader.pos < end) {
155
+ const tag = reader.uint32();
156
+ switch (tag >>> 3) {
157
+ case 1:
158
+ if (tag !== 10) {
159
+ break;
160
+ }
161
+ message.key = reader.string();
162
+ continue;
163
+ case 2:
164
+ if (tag !== 18) {
165
+ break;
166
+ }
167
+ message.value = Value.unwrap(Value.decode(reader, reader.uint32()));
168
+ continue;
169
+ }
170
+ if ((tag & 7) === 4 || tag === 0) {
171
+ break;
172
+ }
173
+ reader.skipType(tag & 7);
174
+ }
175
+ return message;
176
+ }
177
+ Struct_FieldsEntry.decode = decode;
178
+ function fromJSON(object) {
179
+ return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object?.value) ? object.value : undefined };
180
+ }
181
+ Struct_FieldsEntry.fromJSON = fromJSON;
182
+ function toJSON(message) {
183
+ const obj = {};
184
+ message.key !== undefined && (obj.key = message.key);
185
+ message.value !== undefined && (obj.value = message.value);
186
+ return obj;
187
+ }
188
+ Struct_FieldsEntry.toJSON = toJSON;
189
+ })(Struct_FieldsEntry = exports.Struct_FieldsEntry || (exports.Struct_FieldsEntry = {}));
190
+ function createBaseValue() {
191
+ return { kind: undefined };
192
+ }
193
+ /**
194
+ * @public
195
+ */
196
+ var Value;
197
+ (function (Value) {
198
+ function encode(message, writer = minimal_1.default.Writer.create()) {
199
+ switch (message.kind?.$case) {
200
+ case "nullValue":
201
+ writer.uint32(8).int32(message.kind.nullValue);
202
+ break;
203
+ case "numberValue":
204
+ writer.uint32(17).double(message.kind.numberValue);
205
+ break;
206
+ case "stringValue":
207
+ writer.uint32(26).string(message.kind.stringValue);
208
+ break;
209
+ case "boolValue":
210
+ writer.uint32(32).bool(message.kind.boolValue);
211
+ break;
212
+ case "structValue":
213
+ Struct.encode(Struct.wrap(message.kind.structValue), writer.uint32(42).fork()).ldelim();
214
+ break;
215
+ case "listValue":
216
+ ListValue.encode(ListValue.wrap(message.kind.listValue), writer.uint32(50).fork()).ldelim();
217
+ break;
218
+ }
219
+ return writer;
220
+ }
221
+ Value.encode = encode;
222
+ function decode(input, length) {
223
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
224
+ let end = length === undefined ? reader.len : reader.pos + length;
225
+ const message = createBaseValue();
226
+ while (reader.pos < end) {
227
+ const tag = reader.uint32();
228
+ switch (tag >>> 3) {
229
+ case 1:
230
+ if (tag !== 8) {
231
+ break;
232
+ }
233
+ message.kind = { $case: "nullValue", nullValue: reader.int32() };
234
+ continue;
235
+ case 2:
236
+ if (tag !== 17) {
237
+ break;
238
+ }
239
+ message.kind = { $case: "numberValue", numberValue: reader.double() };
240
+ continue;
241
+ case 3:
242
+ if (tag !== 26) {
243
+ break;
244
+ }
245
+ message.kind = { $case: "stringValue", stringValue: reader.string() };
246
+ continue;
247
+ case 4:
248
+ if (tag !== 32) {
249
+ break;
250
+ }
251
+ message.kind = { $case: "boolValue", boolValue: reader.bool() };
252
+ continue;
253
+ case 5:
254
+ if (tag !== 42) {
255
+ break;
256
+ }
257
+ message.kind = { $case: "structValue", structValue: Struct.unwrap(Struct.decode(reader, reader.uint32())) };
258
+ continue;
259
+ case 6:
260
+ if (tag !== 50) {
261
+ break;
262
+ }
263
+ message.kind = { $case: "listValue", listValue: ListValue.unwrap(ListValue.decode(reader, reader.uint32())) };
264
+ continue;
265
+ }
266
+ if ((tag & 7) === 4 || tag === 0) {
267
+ break;
268
+ }
269
+ reader.skipType(tag & 7);
270
+ }
271
+ return message;
272
+ }
273
+ Value.decode = decode;
274
+ function fromJSON(object) {
275
+ return {
276
+ kind: isSet(object.nullValue)
277
+ ? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) }
278
+ : isSet(object.numberValue)
279
+ ? { $case: "numberValue", numberValue: Number(object.numberValue) }
280
+ : isSet(object.stringValue)
281
+ ? { $case: "stringValue", stringValue: String(object.stringValue) }
282
+ : isSet(object.boolValue)
283
+ ? { $case: "boolValue", boolValue: Boolean(object.boolValue) }
284
+ : isSet(object.structValue)
285
+ ? { $case: "structValue", structValue: object.structValue }
286
+ : isSet(object.listValue)
287
+ ? { $case: "listValue", listValue: [...object.listValue] }
288
+ : undefined,
289
+ };
290
+ }
291
+ Value.fromJSON = fromJSON;
292
+ function toJSON(message) {
293
+ const obj = {};
294
+ message.kind?.$case === "nullValue" &&
295
+ (obj.nullValue = message.kind?.nullValue !== undefined ? nullValueToJSON(message.kind?.nullValue) : undefined);
296
+ message.kind?.$case === "numberValue" && (obj.numberValue = message.kind?.numberValue);
297
+ message.kind?.$case === "stringValue" && (obj.stringValue = message.kind?.stringValue);
298
+ message.kind?.$case === "boolValue" && (obj.boolValue = message.kind?.boolValue);
299
+ message.kind?.$case === "structValue" && (obj.structValue = message.kind?.structValue);
300
+ message.kind?.$case === "listValue" && (obj.listValue = message.kind?.listValue);
301
+ return obj;
302
+ }
303
+ Value.toJSON = toJSON;
304
+ function wrap(value) {
305
+ const result = createBaseValue();
306
+ if (value === null) {
307
+ result.kind = { $case: "nullValue", nullValue: 0 /* NullValue.NULL_VALUE */ };
308
+ }
309
+ else if (typeof value === "boolean") {
310
+ result.kind = { $case: "boolValue", boolValue: value };
311
+ }
312
+ else if (typeof value === "number") {
313
+ result.kind = { $case: "numberValue", numberValue: value };
314
+ }
315
+ else if (typeof value === "string") {
316
+ result.kind = { $case: "stringValue", stringValue: value };
317
+ }
318
+ else if (Array.isArray(value)) {
319
+ result.kind = { $case: "listValue", listValue: value };
320
+ }
321
+ else if (typeof value === "object") {
322
+ result.kind = { $case: "structValue", structValue: value };
323
+ }
324
+ else if (typeof value !== "undefined") {
325
+ throw new Error("Unsupported any value type: " + typeof value);
326
+ }
327
+ return result;
328
+ }
329
+ Value.wrap = wrap;
330
+ function unwrap(message) {
331
+ if (message.kind?.$case === "nullValue") {
332
+ return null;
333
+ }
334
+ else if (message.kind?.$case === "numberValue") {
335
+ return message.kind?.numberValue;
336
+ }
337
+ else if (message.kind?.$case === "stringValue") {
338
+ return message.kind?.stringValue;
339
+ }
340
+ else if (message.kind?.$case === "boolValue") {
341
+ return message.kind?.boolValue;
342
+ }
343
+ else if (message.kind?.$case === "structValue") {
344
+ return message.kind?.structValue;
345
+ }
346
+ else if (message.kind?.$case === "listValue") {
347
+ return message.kind?.listValue;
348
+ }
349
+ else {
350
+ return undefined;
351
+ }
352
+ }
353
+ Value.unwrap = unwrap;
354
+ })(Value = exports.Value || (exports.Value = {}));
355
+ function createBaseListValue() {
356
+ return { values: [] };
357
+ }
358
+ /**
359
+ * @public
360
+ */
361
+ var ListValue;
362
+ (function (ListValue) {
363
+ function encode(message, writer = minimal_1.default.Writer.create()) {
364
+ for (const v of message.values) {
365
+ Value.encode(Value.wrap(v), writer.uint32(10).fork()).ldelim();
366
+ }
367
+ return writer;
368
+ }
369
+ ListValue.encode = encode;
370
+ function decode(input, length) {
371
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
372
+ let end = length === undefined ? reader.len : reader.pos + length;
373
+ const message = createBaseListValue();
374
+ while (reader.pos < end) {
375
+ const tag = reader.uint32();
376
+ switch (tag >>> 3) {
377
+ case 1:
378
+ if (tag !== 10) {
379
+ break;
380
+ }
381
+ message.values.push(Value.unwrap(Value.decode(reader, reader.uint32())));
382
+ continue;
383
+ }
384
+ if ((tag & 7) === 4 || tag === 0) {
385
+ break;
386
+ }
387
+ reader.skipType(tag & 7);
388
+ }
389
+ return message;
390
+ }
391
+ ListValue.decode = decode;
392
+ function fromJSON(object) {
393
+ return { values: Array.isArray(object?.values) ? [...object.values] : [] };
394
+ }
395
+ ListValue.fromJSON = fromJSON;
396
+ function toJSON(message) {
397
+ const obj = {};
398
+ if (message.values) {
399
+ obj.values = message.values.map((e) => e);
400
+ }
401
+ else {
402
+ obj.values = [];
403
+ }
404
+ return obj;
405
+ }
406
+ ListValue.toJSON = toJSON;
407
+ function wrap(array) {
408
+ const result = createBaseListValue();
409
+ result.values = array ?? [];
410
+ return result;
411
+ }
412
+ ListValue.wrap = wrap;
413
+ function unwrap(message) {
414
+ if (message?.hasOwnProperty("values") && Array.isArray(message.values)) {
415
+ return message.values;
416
+ }
417
+ else {
418
+ return message;
419
+ }
420
+ }
421
+ ListValue.unwrap = unwrap;
422
+ })(ListValue = exports.ListValue || (exports.ListValue = {}));
423
+ var tsProtoGlobalThis = (() => {
424
+ if (typeof globalThis !== "undefined") {
425
+ return globalThis;
426
+ }
427
+ if (typeof self !== "undefined") {
428
+ return self;
429
+ }
430
+ if (typeof window !== "undefined") {
431
+ return window;
432
+ }
433
+ if (typeof global !== "undefined") {
434
+ return global;
435
+ }
436
+ throw "Unable to locate global object";
437
+ })();
438
+ function isObject(value) {
439
+ return typeof value === "object" && value !== null;
440
+ }
441
+ function isSet(value) {
442
+ return value !== null && value !== undefined;
443
+ }
@@ -0,0 +1,149 @@
1
+ import { ISchema } from '../schemas';
2
+ import { ByteBuffer } from '../serialization/ByteBuffer';
3
+ import { CrdtMessageBody, DeleteComponentMessageBody, PutComponentMessageBody } from '../serialization/crdt';
4
+ import { Entity } from './entity';
5
+ import { DeepReadonly, DeepReadonlySet } from './readonly';
6
+ /**
7
+ * Component types are used to pick the wire protocol and the conflict resolution algorithm
8
+ * @public
9
+ */
10
+ export declare const enum ComponentType {
11
+ LastWriteWinElementSet = 0,
12
+ GrowOnlyValueSet = 1
13
+ }
14
+ /**
15
+ * A conflict resolution message is the response to an outdated or invalid state
16
+ * in the CRDT.
17
+ * @public
18
+ */
19
+ export type ConflictResolutionMessage = PutComponentMessageBody | DeleteComponentMessageBody;
20
+ /**
21
+ * @public
22
+ */
23
+ export interface BaseComponent<T> {
24
+ readonly componentId: number;
25
+ readonly componentName: string;
26
+ readonly componentType: ComponentType;
27
+ readonly schema: ISchema<T>;
28
+ /**
29
+ * This function receives a CRDT update and returns a touple with a "conflict
30
+ * resoluton" message, in case of the sender being updated or null in case of noop/accepted
31
+ * change. The second element of the touple is the modified/changed/deleted value.
32
+ * @public
33
+ */
34
+ updateFromCrdt(body: CrdtMessageBody): [null | ConflictResolutionMessage, T | undefined];
35
+ /**
36
+ * This function returns an iterable with all the CRDT updates that need to be
37
+ * broadcasted to other actors in the system. After returning, this function
38
+ * clears the internal dirty state. Updates are produced only once.
39
+ * @public
40
+ */
41
+ getCrdtUpdates(): Iterable<CrdtMessageBody>;
42
+ /**
43
+ * This function writes the whole state of the component into a ByteBuffer
44
+ * @public
45
+ */
46
+ dumpCrdtStateToBuffer(buffer: ByteBuffer): void;
47
+ /**
48
+ * @public
49
+ * Marks the entity as deleted and signals it cannot be used ever again. It must
50
+ * clear the component internal state, produces a synchronization message to remove
51
+ * the component from the entity.
52
+ * @param entity - Entity ID that was deleted.
53
+ */
54
+ entityDeleted(entity: Entity, markAsDirty: boolean): void;
55
+ /**
56
+ * Get if the entity has this component
57
+ * @param entity - entity to test
58
+ */
59
+ has(entity: Entity): boolean;
60
+ /**
61
+ * Get the readonly component of the entity (to mutate it, use getMutable instead),
62
+ * throws an error if the entity doesn't have the component.
63
+ * @param entity - Entity that will be used to get the component
64
+ * @returns
65
+ */
66
+ get(entity: Entity): any;
67
+ }
68
+ /**
69
+ * @public
70
+ */
71
+ export interface LastWriteWinElementSetComponentDefinition<T> extends BaseComponent<T> {
72
+ readonly componentType: ComponentType.LastWriteWinElementSet;
73
+ /**
74
+ * Get the readonly component of the entity (to mutate it, use getMutable instead),
75
+ * throws an error if the entity doesn't have the component.
76
+ * @param entity - Entity that will be used to get the component
77
+ * @returns
78
+ */
79
+ get(entity: Entity): DeepReadonly<T>;
80
+ /**
81
+ * Get the readonly component of the entity (to mutate it, use getMutable instead), or null if the entity doesn't have the component.
82
+ * @param entity - Entity that will be used to try to get the component
83
+ */
84
+ getOrNull(entity: Entity): DeepReadonly<T> | null;
85
+ /**
86
+ * Add the current component to an entity, throw an error if the component already exists (use `createOrReplace` instead).
87
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
88
+ * @param entity - Entity that will be used to create the component
89
+ * @param val - The initial value
90
+ */
91
+ create(entity: Entity, val?: T): T;
92
+ /**
93
+ * Add the current component to an entity or replace the content if the entity already has the component
94
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
95
+ * @param entity - Entity that will be used to create or replace the component
96
+ * @param val - The initial or new value
97
+ */
98
+ createOrReplace(entity: Entity, val?: T): T;
99
+ /**
100
+ * @public
101
+ * Delete the current component to an entity, return null if the entity doesn't have the current component.
102
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
103
+ * @param entity - Entity to delete the component from
104
+ */
105
+ deleteFrom(entity: Entity): T | null;
106
+ /**
107
+ * Get the mutable component of the entity, throw an error if the entity doesn't have the component.
108
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
109
+ * @param entity - Entity to get the component from
110
+ */
111
+ getMutable(entity: Entity): T;
112
+ /**
113
+ * Get the mutable component of the entity, return null if the entity doesn't have the component.
114
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
115
+ * @param entity - Entity to get the component from
116
+ */
117
+ getMutableOrNull(entity: Entity): T | null;
118
+ /**
119
+ * Get the mutable component of the entity. If the entity doesn't have the component, it's created.
120
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
121
+ * @param entity - Entity to get the component from
122
+ * @param val - The initial value if it doesn't exist
123
+ */
124
+ getOrCreateMutable(entity: Entity, initialValue?: T): T;
125
+ }
126
+ /**
127
+ * @public
128
+ */
129
+ export interface GrowOnlyValueSetComponentDefinition<T> extends BaseComponent<T> {
130
+ readonly componentType: ComponentType.GrowOnlyValueSet;
131
+ /**
132
+ * Appends an element to the set.
133
+ * @param entity - Entity that will host the value
134
+ * @param val - The final value. The Set will freeze the value, it won't be editable from
135
+ * the script.
136
+ */
137
+ addValue(entity: Entity, val: DeepReadonly<T>): DeepReadonlySet<T>;
138
+ /**
139
+ * Get the readonly component of the entity (to mutate it, use getMutable instead),
140
+ * throws an error if the entity doesn't have the component.
141
+ * @param entity - Entity that will be used to get the component
142
+ * @returns
143
+ */
144
+ get(entity: Entity): DeepReadonlySet<T>;
145
+ }
146
+ /**
147
+ * @public
148
+ */
149
+ export type ComponentDefinition<T> = LastWriteWinElementSetComponentDefinition<T> | GrowOnlyValueSetComponentDefinition<T>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComponentType = void 0;
4
+ /**
5
+ * Component types are used to pick the wire protocol and the conflict resolution algorithm
6
+ * @public
7
+ */
8
+ var ComponentType;
9
+ (function (ComponentType) {
10
+ ComponentType[ComponentType["LastWriteWinElementSet"] = 0] = "LastWriteWinElementSet";
11
+ ComponentType[ComponentType["GrowOnlyValueSet"] = 1] = "GrowOnlyValueSet";
12
+ })(ComponentType = exports.ComponentType || (exports.ComponentType = {}));
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @public It only defines the type explicitly, no effects.
3
+ */
4
+ export type uint32 = number;
5
+ /**
6
+ * @public The Entity is a number type, the cast is only for typescript, the final javascript code treat as a number
7
+ * version number
8
+ * [31...16][15...0]
9
+ *
10
+ * Convertion from entity to its compound numbers:
11
+ * To get the version => ((entity & MASK_UPPER_16_ON_32) >> 16) & MAX_U16
12
+ * To get the number => entity & MAX_U16
13
+ *
14
+ * Convertion from its compound numbers to entity:
15
+ * entity = (entityNumber & MAX_U16) | ((entityVersion & MAX_U16) << 16)
16
+ */
17
+ export type Entity = number & {
18
+ __entity_type: '';
19
+ };
20
+ /**
21
+ * @public
22
+ */
23
+ export declare enum EntityState {
24
+ Unknown = 0,
25
+ /**
26
+ * The entity was generated and added to the usedEntities set
27
+ */
28
+ UsedEntity = 1,
29
+ /**
30
+ * The entity was removed from current engine or remotely
31
+ */
32
+ Removed = 2,
33
+ /**
34
+ * The entity is reserved number.
35
+ */
36
+ Reserved = 3
37
+ }
38
+ /**
39
+ * @intenral
40
+ */
41
+ export type EntityContainer = {
42
+ generateEntity(): Entity;
43
+ removeEntity(entity: Entity): boolean;
44
+ getEntityState(entity: Entity): EntityState;
45
+ getExistingEntities(): Set<Entity>;
46
+ releaseRemovedEntities(): Entity[];
47
+ updateRemovedEntity(entity: Entity): boolean;
48
+ updateUsedEntity(entity: Entity): boolean;
49
+ };