@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,215 @@
1
+ import type { ISchema } from '../schemas/ISchema';
2
+ import { MapResult, Spec } from '../schemas/Map';
3
+ import { OnChangeFunction } from '../systems/crdt';
4
+ import { Transport } from '../systems/crdt/types';
5
+ import { ComponentDefinition, GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition } from './component';
6
+ import { Entity, EntityState } from './entity';
7
+ import { ValueSetOptions } from './grow-only-value-set-component-definition';
8
+ import { ReadonlyComponentSchema } from './readonly';
9
+ import { SystemFn } from './systems';
10
+ export * from './component';
11
+ export { ValueSetOptions };
12
+ /**
13
+ * @public
14
+ */
15
+ export type Unpacked<T> = T extends (infer U)[] ? U : T;
16
+ /**
17
+ * @public
18
+ * Overrides component definition to support partial default values
19
+ */
20
+ export interface MapComponentDefinition<T> extends LastWriteWinElementSetComponentDefinition<T> {
21
+ /**
22
+ * Add the current component to an entity, throw an error if the component already exists (use `createOrReplace` instead).
23
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
24
+ * @param entity - Entity that will be used to create the component
25
+ * @param val - The initial value
26
+ */
27
+ create(entity: Entity, val?: Partial<T>): T;
28
+ /**
29
+ * Add the current component to an entity or replace the content if the entity already has the component
30
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
31
+ * @param entity - Entity that will be used to create or replace the component
32
+ * @param val - The initial or new value
33
+ */
34
+ createOrReplace(entity: Entity, val?: Partial<T>): T;
35
+ }
36
+ /**
37
+ * @public
38
+ */
39
+ export interface IEngineOptions {
40
+ onChangeFunction: OnChangeFunction;
41
+ }
42
+ /**
43
+ * @public
44
+ */
45
+ export interface IEngine {
46
+ /**
47
+ * @public
48
+ * Increment the used entity counter and return the next one.
49
+ * @param dynamic - whether or no the entity should be considered as Dynamic (vs Static)
50
+ * @returns the next entity unused
51
+ */
52
+ addEntity(dynamic?: boolean): Entity;
53
+ /**
54
+ * @public
55
+ * Remove all components of an entity
56
+ * @param entity - entity
57
+ */
58
+ removeEntity(entity: Entity): void;
59
+ /**
60
+ *
61
+ * @public
62
+ * Check the state of an entityin the engine
63
+ * @param entity - the entity to validate
64
+ * @returns EntityState enum
65
+ */
66
+ getEntityState(entity: Entity): EntityState;
67
+ /**
68
+ * @public
69
+ * Add the system to the engine. It will be called every tick updated.
70
+ * @param system - function that receives the delta time between last tick and current one.
71
+ * @param priority - a number with the priority, big number are called before smaller ones
72
+ * @param name - optional: a unique name to identify it
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * function mySystem(dt: number) {
77
+ * const entitiesWithMeshRenderer = engine.getEntitiesWith(MeshRenderer, Transform)
78
+ * for (const [entity, _meshRenderer, _transform] of engine.getEntitiesWith(MeshRenderer, Transform)) {
79
+ * // do stuffs
80
+ * }
81
+ * }
82
+ * engine.addSystem(mySystem, 10)
83
+ * ```
84
+ */
85
+ addSystem(system: SystemFn, priority?: number, name?: string): void;
86
+ /**
87
+ * @public
88
+ * Remove a system from the engine.
89
+ * @param selector - the function or the unique name to identify
90
+ * @returns if it was found and removed
91
+ */
92
+ removeSystem(selector: string | SystemFn): boolean;
93
+ /**
94
+ * @public
95
+ * Registers a custom component definition.
96
+ * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
97
+ * @param componentDefinition - The component definition
98
+ */
99
+ registerComponentDefinition<T>(componentName: string, componentDefinition: ComponentDefinition<T>): ComponentDefinition<T>;
100
+ /**
101
+ * @public
102
+ * Define a component and add it to the engine.
103
+ * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
104
+ * @param spec - An object with schema fields
105
+ * @param constructorDefault - the initial value prefilled when a component is created without a value
106
+ * @returns The component definition
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * const CustomComponent = engine.defineComponent("my-scene::custom-name", {
111
+ * id: Schemas.Int,
112
+ * name: Schemas.String
113
+ * })
114
+ * ```
115
+ */
116
+ defineComponent<T extends Spec>(componentName: string, spec: T, constructorDefault?: Partial<MapResult<T>>): MapComponentDefinition<MapResult<T>>;
117
+ /**
118
+ * @public
119
+ * Define a component and add it to the engine.
120
+ * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
121
+ * @param spec - An object with schema fields
122
+ * @returns The component definition
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * const StateComponentId = 10023
127
+ * const StateComponent = engine.defineComponentFromSchema("my-lib::VisibleComponent", Schemas.Bool)
128
+ * ```
129
+ */
130
+ defineComponentFromSchema<T>(componentName: string, spec: ISchema<T>): LastWriteWinElementSetComponentDefinition<T>;
131
+ /**
132
+ * @public
133
+ * Defines a value set component.
134
+ * @param componentName - unique name to identify the component, a hash is calculated for it, it will fail if the hash has collisions.
135
+ * @param spec - An object with schema fields
136
+ * @returns The component definition
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const StateComponentId = 10023
141
+ * const StateComponent = engine.defineValueSetComponentFromSchema("my-lib::VisibleComponent", Schemas.Int)
142
+ * ```
143
+ */
144
+ defineValueSetComponentFromSchema<T>(componentName: string, spec: ISchema<T>, options: ValueSetOptions<T>): GrowOnlyValueSetComponentDefinition<T>;
145
+ /**
146
+ * @public
147
+ * Get the component definition from the component id.
148
+ * @param componentId - component number or name used to identify the component descriptor
149
+ * @returns the component definition, throw an error if it doesn't exist
150
+ * ```ts
151
+ * const StateComponentId = 10023
152
+ * const StateComponent = engine.getComponent(StateComponentId)
153
+ * ```
154
+ */
155
+ getComponent<T>(componentId: number | string): ComponentDefinition<T>;
156
+ /**
157
+ * Get the component definition from the component id.
158
+ * @param componentId - component number or name used to identify the component descriptor
159
+ * @returns the component definition or null if its not founded
160
+ * ```ts
161
+ * const StateComponentId = 10023
162
+ * const StateComponent = engine.getComponent(StateComponentId)
163
+ * ```
164
+ */
165
+ getComponentOrNull<T>(componentId: number | string): ComponentDefinition<T> | null;
166
+ /**
167
+ * @public
168
+ * Get a iterator of entities that has all the component requested.
169
+ * @param components - a list of component definitions
170
+ * @returns An iterator of an array with the [entity, component1, component2, ...]
171
+ *
172
+ * Example:
173
+ * ```ts
174
+ * for (const [entity, meshRenderer, transform] of engine.getEntitiesWith(MeshRenderer, Transform)) {
175
+ * // the properties of meshRenderer and transform are read only
176
+ * }
177
+ * ```
178
+ */
179
+ getEntitiesWith<T extends [ComponentDefinition<any>, ...ComponentDefinition<any>[]]>(...components: T): Iterable<[Entity, ...ReadonlyComponentSchema<T>]>;
180
+ /**
181
+ * @public
182
+ * @param deltaTime - deltaTime in seconds
183
+ */
184
+ update(deltaTime: number): Promise<void>;
185
+ /**
186
+ * @public
187
+ * Refer to the root of the scene, all Transforms without a parent are parenting with RootEntity.
188
+ */
189
+ readonly RootEntity: Entity;
190
+ /**
191
+ * @public
192
+ * The current player entity
193
+ */
194
+ readonly PlayerEntity: Entity;
195
+ /**
196
+ * @public
197
+ * Camera entity of current player.
198
+ */
199
+ readonly CameraEntity: Entity;
200
+ /**
201
+ * @alpha
202
+ * @param transport - transport which changes its onmessage to process CRDT messages
203
+ */
204
+ addTransport(transport: Transport): void;
205
+ /**
206
+ * @public
207
+ * Iterator of registered components
208
+ */
209
+ componentsIter(): Iterable<ComponentDefinition<unknown>>;
210
+ /**
211
+ * Seals the engine components. It is used to clearly define the scope of the
212
+ * components that will be available to this engine and to run optimizations.
213
+ */
214
+ seal(): void;
215
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./component"), exports);
@@ -0,0 +1,22 @@
1
+ export * from './engine';
2
+ export * from './schemas';
3
+ export * from './runtime/initialization';
4
+ export * from './runtime/types';
5
+ export * from './runtime/helpers';
6
+ export { cyclicParentingChecker } from './systems/cyclicParentingChecker';
7
+ export * from './systems/events';
8
+ export * from './systems/raycast';
9
+ export * from './systems/videoEvents';
10
+ export * from './systems/async-task';
11
+ export * from './engine/entity';
12
+ export * from './components/types';
13
+ import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended } from './components/types';
14
+ export declare const Transform: TransformComponentExtended;
15
+ export declare const Animator: AnimatorComponentDefinitionExtended;
16
+ export declare const Material: MaterialComponentDefinitionExtended;
17
+ export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
18
+ export declare const MeshCollider: MeshColliderComponentDefinitionExtended;
19
+ export * from './components/generated/global.gen';
20
+ export * from './components/generated/types.gen';
21
+ export * from './serialization/crdt';
22
+ export * from './composite';
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.MeshCollider = exports.MeshRenderer = exports.Material = exports.Animator = exports.Transform = exports.components = exports.cyclicParentingChecker = void 0;
30
+ // The order of the following imports matters. Please do not auto-sort
31
+ __exportStar(require("./engine"), exports);
32
+ __exportStar(require("./schemas"), exports);
33
+ __exportStar(require("./runtime/initialization"), exports);
34
+ __exportStar(require("./runtime/types"), exports);
35
+ __exportStar(require("./runtime/helpers"), exports);
36
+ var cyclicParentingChecker_1 = require("./systems/cyclicParentingChecker");
37
+ Object.defineProperty(exports, "cyclicParentingChecker", { enumerable: true, get: function () { return cyclicParentingChecker_1.cyclicParentingChecker; } });
38
+ __exportStar(require("./systems/events"), exports);
39
+ __exportStar(require("./systems/raycast"), exports);
40
+ __exportStar(require("./systems/videoEvents"), exports);
41
+ __exportStar(require("./systems/async-task"), exports);
42
+ __exportStar(require("./engine/entity"), exports);
43
+ __exportStar(require("./components/types"), exports);
44
+ // @internal
45
+ const components = __importStar(require("./components"));
46
+ exports.components = components;
47
+ const initialization_1 = require("./runtime/initialization");
48
+ // export components for global engine
49
+ exports.Transform = components.Transform(initialization_1.engine);
50
+ exports.Animator = components.Animator(initialization_1.engine);
51
+ exports.Material = components.Material(initialization_1.engine);
52
+ exports.MeshRenderer = components.MeshRenderer(initialization_1.engine);
53
+ exports.MeshCollider = components.MeshCollider(initialization_1.engine);
54
+ // export components for global engine
55
+ __exportStar(require("./components/generated/global.gen"), exports);
56
+ __exportStar(require("./components/generated/types.gen"), exports);
57
+ __exportStar(require("./serialization/crdt"), exports);
58
+ __exportStar(require("./composite"), exports);
@@ -0,0 +1 @@
1
+ export declare function unsignedCRC32(data: Uint8Array, prev?: number): number;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unsignedCRC32 = void 0;
4
+ const CRC_TABLE = new Int32Array([
5
+ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832,
6
+ 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
7
+ 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a,
8
+ 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
9
+ 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
10
+ 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
11
+ 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab,
12
+ 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
13
+ 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4,
14
+ 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
15
+ 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074,
16
+ 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
17
+ 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525,
18
+ 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
19
+ 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
20
+ 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
21
+ 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76,
22
+ 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
23
+ 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6,
24
+ 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
25
+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7,
26
+ 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
27
+ 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7,
28
+ 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
29
+ 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
30
+ 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
31
+ 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330,
32
+ 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
33
+ 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
34
+ ]);
35
+ function _crc32(buf, previous) {
36
+ let crc = ~~previous ^ -1;
37
+ for (let n = 0; n < buf.length; n++) {
38
+ crc = CRC_TABLE[(crc ^ buf[n]) & 0xff] ^ (crc >>> 8);
39
+ }
40
+ return crc ^ -1;
41
+ }
42
+ function unsignedCRC32(data, prev = 0) {
43
+ return _crc32(data, prev) >>> 0;
44
+ }
45
+ exports.unsignedCRC32 = unsignedCRC32;
@@ -0,0 +1 @@
1
+ export * from './tree';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./tree"), exports);
@@ -0,0 +1,32 @@
1
+ import { Entity } from '../../engine/entity';
2
+ import { ComponentDefinition, IEngine } from '../../engine';
3
+ /**
4
+ * Get an iterator of entities that follow a tree structure for a component
5
+ * @public
6
+ * @param engine - the engine running the entities
7
+ * @param entity - the root entity of the tree
8
+ * @param component - the parenting component to filter by
9
+ * @returns An iterator of an array as [entity, entity2, ...]
10
+ *
11
+ * Example:
12
+ * ```ts
13
+ * const TreeComponent = engine.defineComponent('custom::TreeComponent', {
14
+ * label: Schemas.String,
15
+ * parent: Schemas.Entity
16
+ * })
17
+ *
18
+ * for (const entity of getComponentEntityTree(engine, entity, TreeComponent)) {
19
+ * // entity in the tree
20
+ * }
21
+ * ```
22
+ */
23
+ export declare function getComponentEntityTree<T>(engine: IEngine, entity: Entity, component: ComponentDefinition<T & {
24
+ parent?: Entity;
25
+ }>): Generator<Entity>;
26
+ /**
27
+ * Remove all components of each entity in the tree made with Transform parenting
28
+ * @param engine - the engine running the entities
29
+ * @param firstEntity - the root entity of the tree
30
+ * @public
31
+ */
32
+ export declare function removeEntityWithChildren(engine: IEngine, entity: Entity): void;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.removeEntityWithChildren = exports.getComponentEntityTree = void 0;
27
+ const components = __importStar(require("../../components"));
28
+ function* genEntityTree(entity, entities) {
29
+ // This avoid infinite loop when there is a cyclic parenting
30
+ if (!entities.has(entity))
31
+ return;
32
+ entities.delete(entity);
33
+ for (const [_entity, value] of entities) {
34
+ if (value.parent === entity) {
35
+ yield* genEntityTree(_entity, entities);
36
+ }
37
+ }
38
+ yield entity;
39
+ }
40
+ /**
41
+ * Get an iterator of entities that follow a tree structure for a component
42
+ * @public
43
+ * @param engine - the engine running the entities
44
+ * @param entity - the root entity of the tree
45
+ * @param component - the parenting component to filter by
46
+ * @returns An iterator of an array as [entity, entity2, ...]
47
+ *
48
+ * Example:
49
+ * ```ts
50
+ * const TreeComponent = engine.defineComponent('custom::TreeComponent', {
51
+ * label: Schemas.String,
52
+ * parent: Schemas.Entity
53
+ * })
54
+ *
55
+ * for (const entity of getComponentEntityTree(engine, entity, TreeComponent)) {
56
+ * // entity in the tree
57
+ * }
58
+ * ```
59
+ */
60
+ function getComponentEntityTree(engine, entity, component) {
61
+ const entities = new Map(engine.getEntitiesWith(component));
62
+ return genEntityTree(entity, entities);
63
+ }
64
+ exports.getComponentEntityTree = getComponentEntityTree;
65
+ /**
66
+ * Remove all components of each entity in the tree made with Transform parenting
67
+ * @param engine - the engine running the entities
68
+ * @param firstEntity - the root entity of the tree
69
+ * @public
70
+ */
71
+ function removeEntityWithChildren(engine, entity) {
72
+ const Transform = components.Transform(engine);
73
+ for (const _entity of getComponentEntityTree(engine, entity, Transform)) {
74
+ engine.removeEntity(_entity);
75
+ }
76
+ }
77
+ exports.removeEntityWithChildren = removeEntityWithChildren;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @alpha * This file initialization is an alpha one. This is based on the old-ecs
3
+ * init and it'll be changing.
4
+ */
5
+ import { IEngine } from '../../engine';
6
+ import { Task } from '../../systems/async-task';
7
+ import { PointerEventsSystem } from '../../systems/events';
8
+ import { IInputSystem } from './../../engine/input';
9
+ import { RaycastSystem } from '../../systems/raycast';
10
+ import { VideoEventsSystem } from '../../systems/videoEvents';
11
+ /**
12
+ * @public
13
+ * The engine is the part of the scene that sits in the middle and manages all of the other parts.
14
+ * It determines what entities are rendered and how players interact with them.
15
+ * It also coordinates what functions from systems are executed and when.
16
+ *
17
+ * @example
18
+ * import { engine } from '@dcl/sdk/ecs'
19
+ * const entity = engine.addEntity()
20
+ * engine.addSystem(someSystemFunction)
21
+ *
22
+ */
23
+ export declare const engine: IEngine;
24
+ /**
25
+ * @public
26
+ * Input system manager. Check for button events
27
+ * @example
28
+ * inputSystem.isTriggered: Returns true if an input action ocurred since the last tick.
29
+ * inputSystem.isPressed: Returns true if an input is currently being pressed down. It will return true on every tick until the button goes up again.
30
+ * inputSystem.getInputCommand: Returns an object with data about the input action.
31
+ */
32
+ export declare const inputSystem: IInputSystem;
33
+ export { IInputSystem };
34
+ /**
35
+ * @public
36
+ * Register callback functions to a particular entity on input events.
37
+ */
38
+ export declare const pointerEventsSystem: PointerEventsSystem;
39
+ export { PointerEventsSystem };
40
+ /**
41
+ * @public
42
+ * Register callback functions to a particular entity on raycast results.
43
+ */
44
+ export declare const raycastSystem: RaycastSystem;
45
+ export { RaycastSystem };
46
+ /**
47
+ * @alpha
48
+ * @public
49
+ * Register callback functions to a particular entity on video events.
50
+ */
51
+ export declare const videoEventsSystem: VideoEventsSystem;
52
+ export { VideoEventsSystem };
53
+ /**
54
+ * @public
55
+ * Runs an async function
56
+ */
57
+ export declare const executeTask: (task: Task<unknown>) => void;
58
+ /**
59
+ * @public
60
+ */
61
+ export type { Task };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * @alpha * This file initialization is an alpha one. This is based on the old-ecs
4
+ * init and it'll be changing.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.executeTask = exports.videoEventsSystem = exports.raycastSystem = exports.pointerEventsSystem = exports.inputSystem = exports.engine = void 0;
8
+ const engine_1 = require("../../engine");
9
+ const async_task_1 = require("../../systems/async-task");
10
+ const events_1 = require("../../systems/events");
11
+ const input_1 = require("./../../engine/input");
12
+ const raycast_1 = require("../../systems/raycast");
13
+ const videoEvents_1 = require("../../systems/videoEvents");
14
+ /**
15
+ * @public
16
+ * The engine is the part of the scene that sits in the middle and manages all of the other parts.
17
+ * It determines what entities are rendered and how players interact with them.
18
+ * It also coordinates what functions from systems are executed and when.
19
+ *
20
+ * @example
21
+ * import { engine } from '@dcl/sdk/ecs'
22
+ * const entity = engine.addEntity()
23
+ * engine.addSystem(someSystemFunction)
24
+ *
25
+ */
26
+ exports.engine = (0, engine_1.Engine)();
27
+ /**
28
+ * @public
29
+ * Input system manager. Check for button events
30
+ * @example
31
+ * inputSystem.isTriggered: Returns true if an input action ocurred since the last tick.
32
+ * inputSystem.isPressed: Returns true if an input is currently being pressed down. It will return true on every tick until the button goes up again.
33
+ * inputSystem.getInputCommand: Returns an object with data about the input action.
34
+ */
35
+ exports.inputSystem = (0, input_1.createInputSystem)(exports.engine);
36
+ /**
37
+ * @public
38
+ * Register callback functions to a particular entity on input events.
39
+ */
40
+ exports.pointerEventsSystem = (0, events_1.createPointerEventsSystem)(exports.engine, exports.inputSystem);
41
+ /**
42
+ * @public
43
+ * Register callback functions to a particular entity on raycast results.
44
+ */
45
+ exports.raycastSystem = (0, raycast_1.createRaycastSystem)(exports.engine);
46
+ /**
47
+ * @alpha
48
+ * @public
49
+ * Register callback functions to a particular entity on video events.
50
+ */
51
+ exports.videoEventsSystem = (0, videoEvents_1.createVideoEventsSystem)(exports.engine);
52
+ /**
53
+ * @public
54
+ * Runs an async function
55
+ */
56
+ exports.executeTask = (0, async_task_1.createTaskSystem)(exports.engine);
@@ -0,0 +1,4 @@
1
+ type K = unknown | Promise<unknown>;
2
+ export declare const __DEV__: boolean;
3
+ export declare function checkNotThenable<T extends K>(t: T, error: string): T;
4
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /* istanbul ignore file */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.checkNotThenable = exports.__DEV__ = void 0;
5
+ exports.__DEV__ = (typeof DEBUG === 'boolean' && DEBUG) ||
6
+ (typeof process === 'object' &&
7
+ (process.env?.NODE_ENV !== 'production' || process.env?.NODE_ENV === 'development')) ||
8
+ false;
9
+ function checkNotThenable(t, error) {
10
+ if (exports.__DEV__) {
11
+ if (t && typeof t === 'object' && typeof t.then === 'function') {
12
+ throw new Error(error);
13
+ }
14
+ }
15
+ return t;
16
+ }
17
+ exports.checkNotThenable = checkNotThenable;
@@ -0,0 +1,6 @@
1
+ export type { SystemFn } from '../engine/systems';
2
+ export type { TransportMessage, ReceiveMessage, Transport } from '../systems/crdt/types';
3
+ export { TransformType, TransformComponent } from '../components/manual/Transform';
4
+ export * from '../engine/component';
5
+ export * from '../schemas/typing';
6
+ export type { MapResult, Spec } from '../schemas/Map';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../engine/component"), exports);
18
+ __exportStar(require("../schemas/typing"), exports);