@iwsdk/core 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/README.md +94 -0
  2. package/dist/asset/loaders/hdr-texture-loader.d.ts +1 -1
  3. package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -1
  4. package/dist/asset/loaders/hdr-texture-loader.js +4 -4
  5. package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
  6. package/dist/audio/audio-system.d.ts +6 -2
  7. package/dist/audio/audio-system.d.ts.map +1 -1
  8. package/dist/audio/audio-system.js +1 -0
  9. package/dist/audio/audio-system.js.map +1 -1
  10. package/dist/audio/audio.d.ts +3 -1
  11. package/dist/audio/audio.d.ts.map +1 -1
  12. package/dist/audio/audio.js +8 -2
  13. package/dist/audio/audio.js.map +1 -1
  14. package/dist/camera/camera-source.js +1 -0
  15. package/dist/camera/camera-source.js.map +1 -1
  16. package/dist/camera/camera-system.d.ts.map +1 -1
  17. package/dist/camera/camera-system.js +1 -0
  18. package/dist/camera/camera-system.js.map +1 -1
  19. package/dist/camera/camera-utils.d.ts.map +1 -1
  20. package/dist/camera/camera-utils.js.map +1 -1
  21. package/dist/depth/depth-occludable.d.ts +48 -0
  22. package/dist/depth/depth-occludable.d.ts.map +1 -0
  23. package/dist/depth/depth-occludable.js +48 -0
  24. package/dist/depth/depth-occludable.js.map +1 -0
  25. package/dist/depth/depth-sensing-system.d.ts +164 -0
  26. package/dist/depth/depth-sensing-system.d.ts.map +1 -0
  27. package/dist/depth/depth-sensing-system.js +453 -0
  28. package/dist/depth/depth-sensing-system.js.map +1 -0
  29. package/dist/depth/depth-textures.d.ts +53 -0
  30. package/dist/depth/depth-textures.d.ts.map +1 -0
  31. package/dist/depth/depth-textures.js +114 -0
  32. package/dist/depth/depth-textures.js.map +1 -0
  33. package/dist/depth/index.d.ts +10 -0
  34. package/dist/depth/index.d.ts.map +1 -0
  35. package/dist/depth/occlusion/preprocessing-pass.d.ts +52 -0
  36. package/dist/depth/occlusion/preprocessing-pass.d.ts.map +1 -0
  37. package/dist/depth/occlusion/preprocessing-pass.js +105 -0
  38. package/dist/depth/occlusion/preprocessing-pass.js.map +1 -0
  39. package/dist/depth/occlusion/preprocessing-shader.glsl.d.ts +22 -0
  40. package/dist/depth/occlusion/preprocessing-shader.glsl.d.ts.map +1 -0
  41. package/dist/depth/occlusion/preprocessing-shader.glsl.js +115 -0
  42. package/dist/depth/occlusion/preprocessing-shader.glsl.js.map +1 -0
  43. package/dist/ecs/entity.d.ts +17 -1
  44. package/dist/ecs/entity.d.ts.map +1 -1
  45. package/dist/ecs/entity.js +7 -1
  46. package/dist/ecs/entity.js.map +1 -1
  47. package/dist/ecs/world.d.ts +12 -0
  48. package/dist/ecs/world.d.ts.map +1 -1
  49. package/dist/ecs/world.js +47 -3
  50. package/dist/ecs/world.js.map +1 -1
  51. package/dist/environment/dome-gradient.js +1 -0
  52. package/dist/environment/dome-gradient.js.map +1 -1
  53. package/dist/environment/dome-texture.d.ts +3 -1
  54. package/dist/environment/dome-texture.d.ts.map +1 -1
  55. package/dist/environment/dome-texture.js +7 -1
  56. package/dist/environment/dome-texture.js.map +1 -1
  57. package/dist/environment/environment-system.d.ts +8 -0
  58. package/dist/environment/environment-system.d.ts.map +1 -1
  59. package/dist/environment/environment-system.js +78 -2
  60. package/dist/environment/environment-system.js.map +1 -1
  61. package/dist/environment/ibl-gradient.js +1 -0
  62. package/dist/environment/ibl-gradient.js.map +1 -1
  63. package/dist/environment/ibl-texture.d.ts +3 -1
  64. package/dist/environment/ibl-texture.d.ts.map +1 -1
  65. package/dist/environment/ibl-texture.js +7 -1
  66. package/dist/environment/ibl-texture.js.map +1 -1
  67. package/dist/environment-raycast/environment-raycast.d.ts +136 -0
  68. package/dist/environment-raycast/environment-raycast.d.ts.map +1 -0
  69. package/dist/environment-raycast/environment-raycast.js +333 -0
  70. package/dist/environment-raycast/environment-raycast.js.map +1 -0
  71. package/dist/environment-raycast/index.d.ts +9 -0
  72. package/dist/environment-raycast/index.d.ts.map +1 -0
  73. package/dist/environment-raycast/raycast-target.d.ts +114 -0
  74. package/dist/environment-raycast/raycast-target.d.ts.map +1 -0
  75. package/dist/environment-raycast/raycast-target.js +84 -0
  76. package/dist/environment-raycast/raycast-target.js.map +1 -0
  77. package/dist/grab/distance-grabbable.d.ts +27 -2
  78. package/dist/grab/distance-grabbable.d.ts.map +1 -1
  79. package/dist/grab/distance-grabbable.js +25 -2
  80. package/dist/grab/distance-grabbable.js.map +1 -1
  81. package/dist/grab/grab-system.d.ts +106 -61
  82. package/dist/grab/grab-system.d.ts.map +1 -1
  83. package/dist/grab/grab-system.js +61 -10
  84. package/dist/grab/grab-system.js.map +1 -1
  85. package/dist/grab/handles.d.ts +14 -4
  86. package/dist/grab/handles.d.ts.map +1 -1
  87. package/dist/grab/handles.js +45 -18
  88. package/dist/grab/handles.js.map +1 -1
  89. package/dist/grab/index.d.ts +0 -1
  90. package/dist/grab/index.d.ts.map +1 -1
  91. package/dist/grab/index.js +0 -2
  92. package/dist/grab/index.js.map +1 -1
  93. package/dist/grab/one-hand-grabbable.js +1 -0
  94. package/dist/grab/one-hand-grabbable.js.map +1 -1
  95. package/dist/grab/two-hands-grabbable.js +1 -0
  96. package/dist/grab/two-hands-grabbable.js.map +1 -1
  97. package/dist/index.d.ts +3 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +9 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/init/world-initializer.d.ts +17 -3
  102. package/dist/init/world-initializer.d.ts.map +1 -1
  103. package/dist/init/world-initializer.js +86 -19
  104. package/dist/init/world-initializer.js.map +1 -1
  105. package/dist/init/xr.d.ts +1 -0
  106. package/dist/init/xr.d.ts.map +1 -1
  107. package/dist/init/xr.js +6 -0
  108. package/dist/init/xr.js.map +1 -1
  109. package/dist/input/input-system.d.ts +408 -5
  110. package/dist/input/input-system.d.ts.map +1 -1
  111. package/dist/input/input-system.js +146 -23
  112. package/dist/input/input-system.js.map +1 -1
  113. package/dist/input/state-tags.d.ts +32 -15
  114. package/dist/input/state-tags.d.ts.map +1 -1
  115. package/dist/input/state-tags.js +34 -16
  116. package/dist/input/state-tags.js.map +1 -1
  117. package/dist/level/level-entity-creator.js +1 -0
  118. package/dist/level/level-entity-creator.js.map +1 -1
  119. package/dist/level/level-root.js +1 -0
  120. package/dist/level/level-root.js.map +1 -1
  121. package/dist/level/level-system.js +1 -0
  122. package/dist/level/level-system.js.map +1 -1
  123. package/dist/level/level-tag.js +1 -0
  124. package/dist/level/level-tag.js.map +1 -1
  125. package/dist/locomotion/locomotion.d.ts +10 -0
  126. package/dist/locomotion/locomotion.d.ts.map +1 -1
  127. package/dist/locomotion/locomotion.js +17 -1
  128. package/dist/locomotion/locomotion.js.map +1 -1
  129. package/dist/locomotion/slide.d.ts +10 -0
  130. package/dist/locomotion/slide.d.ts.map +1 -1
  131. package/dist/locomotion/slide.js +6 -2
  132. package/dist/locomotion/slide.js.map +1 -1
  133. package/dist/locomotion/teleport.js +1 -0
  134. package/dist/locomotion/teleport.js.map +1 -1
  135. package/dist/mcp/ecs-debug-tools.d.ts +167 -0
  136. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -0
  137. package/dist/mcp/ecs-debug-tools.js +602 -0
  138. package/dist/mcp/ecs-debug-tools.js.map +1 -0
  139. package/dist/mcp/index.d.ts +10 -0
  140. package/dist/mcp/index.d.ts.map +1 -0
  141. package/dist/mcp/mcp-runtime.d.ts +31 -0
  142. package/dist/mcp/mcp-runtime.d.ts.map +1 -0
  143. package/dist/mcp/mcp-runtime.js +85 -0
  144. package/dist/mcp/mcp-runtime.js.map +1 -0
  145. package/dist/mcp/scene-tools.d.ts +41 -0
  146. package/dist/mcp/scene-tools.d.ts.map +1 -0
  147. package/dist/mcp/scene-tools.js +95 -0
  148. package/dist/mcp/scene-tools.js.map +1 -0
  149. package/dist/physics/physics-system.d.ts +1 -1
  150. package/dist/physics/physics-system.d.ts.map +1 -1
  151. package/dist/physics/physics-system.js +9 -4
  152. package/dist/physics/physics-system.js.map +1 -1
  153. package/dist/physics/utils.d.ts.map +1 -1
  154. package/dist/physics/utils.js +1 -1
  155. package/dist/scene-understanding/anchor.js +1 -0
  156. package/dist/scene-understanding/anchor.js.map +1 -1
  157. package/dist/scene-understanding/mesh.js +1 -0
  158. package/dist/scene-understanding/mesh.js.map +1 -1
  159. package/dist/scene-understanding/plane.js +1 -0
  160. package/dist/scene-understanding/plane.js.map +1 -1
  161. package/dist/scene-understanding/scene-understanding-system.d.ts +29 -0
  162. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  163. package/dist/scene-understanding/scene-understanding-system.js +118 -18
  164. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  165. package/dist/transform/index.d.ts +2 -0
  166. package/dist/transform/index.d.ts.map +1 -1
  167. package/dist/transform/synced-euler.d.ts +62 -0
  168. package/dist/transform/synced-euler.d.ts.map +1 -0
  169. package/dist/transform/synced-euler.js +212 -0
  170. package/dist/transform/synced-euler.js.map +1 -0
  171. package/dist/transform/synced-quaternion.d.ts +11 -0
  172. package/dist/transform/synced-quaternion.d.ts.map +1 -1
  173. package/dist/transform/synced-quaternion.js +29 -0
  174. package/dist/transform/synced-quaternion.js.map +1 -1
  175. package/dist/transform/transform-utils.d.ts +24 -0
  176. package/dist/transform/transform-utils.d.ts.map +1 -0
  177. package/dist/transform/transform-utils.js +53 -0
  178. package/dist/transform/transform-utils.js.map +1 -0
  179. package/dist/transform/transform.d.ts.map +1 -1
  180. package/dist/transform/transform.js +19 -2
  181. package/dist/transform/transform.js.map +1 -1
  182. package/dist/ui/follow.js +1 -0
  183. package/dist/ui/follow.js.map +1 -1
  184. package/dist/ui/index.d.ts +1 -1
  185. package/dist/ui/index.d.ts.map +1 -1
  186. package/dist/ui/screenspace.js +1 -0
  187. package/dist/ui/screenspace.js.map +1 -1
  188. package/dist/ui/ui.d.ts.map +1 -1
  189. package/dist/ui/ui.js +2 -8
  190. package/dist/ui/ui.js.map +1 -1
  191. package/dist/version.d.ts +1 -1
  192. package/dist/version.js +1 -1
  193. package/dist/visibility/visibility.d.ts.map +1 -1
  194. package/dist/visibility/visibility.js +4 -1
  195. package/dist/visibility/visibility.js.map +1 -1
  196. package/package.json +16 -9
  197. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.1.7_super-three@0.177.0/node_modules/@pmndrs/uikitml/dist/interpreter/html.js +0 -128
  198. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.1.7_super-three@0.177.0/node_modules/@pmndrs/uikitml/dist/interpreter/html.js.map +0 -1
  199. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.1.7_super-three@0.177.0/node_modules/@pmndrs/uikitml/dist/interpreter/index.js +0 -161
  200. package/dist/node_modules/.pnpm/@pmndrs_uikitml@0.1.7_super-three@0.177.0/node_modules/@pmndrs/uikitml/dist/interpreter/index.js.map +0 -1
  201. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.js +0 -66
  202. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.js.map +0 -1
  203. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.js +0 -162
  204. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.js.map +0 -1
  205. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.js +0 -519
  206. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.js.map +0 -1
  207. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.js +0 -15
  208. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.js.map +0 -1
  209. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/unicode.js +0 -32
  210. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/unicode.js.map +0 -1
  211. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.js +0 -10
  212. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.js.map +0 -1
  213. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.js +0 -41
  214. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.js.map +0 -1
  215. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.js +0 -35
  216. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.js.map +0 -1
  217. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.js +0 -24
  218. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.js.map +0 -1
  219. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.js +0 -92
  220. package/dist/node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.js.map +0 -1
  221. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/libs/fflate.module.js +0 -382
  222. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/libs/fflate.module.js.map +0 -1
  223. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/EXRLoader.js +0 -2587
  224. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/EXRLoader.js.map +0 -1
  225. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/RGBELoader.js +0 -477
  226. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/examples/jsm/loaders/RGBELoader.js.map +0 -1
  227. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/src/math/MathUtils.js +0 -17
  228. package/dist/node_modules/.pnpm/super-three@0.177.0/node_modules/super-three/src/math/MathUtils.js.map +0 -1
package/dist/ecs/world.js CHANGED
@@ -7,6 +7,7 @@ import { LevelTag } from '../level/level-tag.js';
7
7
  import '@iwsdk/glxf';
8
8
  import '../asset/asset-manager.js';
9
9
  import '../asset/cache-manager.js';
10
+ import './entity.js';
10
11
  import './component-registry.js';
11
12
  import '@pmndrs/uikit';
12
13
  import { Object3D } from 'three';
@@ -16,6 +17,7 @@ import '../ui/screenspace.js';
16
17
  import '../level/level-root.js';
17
18
  import '../runtime/three.js';
18
19
  import { Transform } from '../transform/transform.js';
20
+ import '../transform/transform-utils.js';
19
21
 
20
22
  /**
21
23
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -60,12 +62,54 @@ class World extends World$1 {
60
62
  this.visibilityState = signal(VisibilityState.NonImmersive);
61
63
  const originalReleaseFunc = this.entityManager.releaseEntityInstance.bind(this.entityManager);
62
64
  this.entityManager.releaseEntityInstance = (entity) => {
63
- var _a;
64
65
  originalReleaseFunc(entity);
65
- (_a = entity.object3D) === null || _a === void 0 ? void 0 : _a.removeFromParent();
66
- delete entity.object3D;
66
+ const obj = entity.object3D;
67
+ if (obj) {
68
+ // Check if entity was marked for resource disposal
69
+ if (entity._disposeResources) {
70
+ this.disposeObject3DResources(obj);
71
+ delete entity._disposeResources;
72
+ }
73
+ obj.removeFromParent();
74
+ delete entity.object3D;
75
+ }
67
76
  };
68
77
  }
78
+ /**
79
+ * Dispose of an Object3D's GPU resources (geometry, materials, textures).
80
+ * Traverses all descendants and cleans up disposable resources.
81
+ *
82
+ * @remarks
83
+ * This is called automatically when an entity is destroyed with `disposeResources: true`.
84
+ * Use with caution when resources may be shared across multiple entities.
85
+ */
86
+ disposeObject3DResources(object) {
87
+ object.traverse((child) => {
88
+ // Dispose geometry
89
+ if (child.geometry) {
90
+ child.geometry.dispose();
91
+ }
92
+ // Dispose materials (can be single or array)
93
+ if (child.material) {
94
+ const materials = Array.isArray(child.material)
95
+ ? child.material
96
+ : [child.material];
97
+ for (const material of materials) {
98
+ // Dispose textures attached to the material
99
+ for (const key of Object.keys(material)) {
100
+ const value = material[key];
101
+ if (value && typeof value.dispose === 'function') {
102
+ // Check if it's a texture (has isTexture property)
103
+ if (value.isTexture) {
104
+ value.dispose();
105
+ }
106
+ }
107
+ }
108
+ material.dispose();
109
+ }
110
+ }
111
+ });
112
+ }
69
113
  createEntity() {
70
114
  return super.createEntity();
71
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"world.js","sources":["../../src/ecs/world.ts"],"sourcesContent":[null],"names":["ElicsWorld"],"mappings":"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"}
1
+ {"version":3,"file":"world.js","sources":["../../src/ecs/world.ts"],"sourcesContent":[null],"names":["ElicsWorld"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import '@preact/signals-core';
2
2
  import '../ecs/world.js';
3
3
  import { createComponent, Types } from 'elics';
4
+ import '../ecs/entity.js';
4
5
  import '../ecs/component-registry.js';
5
6
 
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dome-gradient.js","sources":["../../src/environment/dome-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG,eAAe,CACzC,cAAc,EACd;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,kCAAkC;;;;"}
1
+ {"version":3,"file":"dome-gradient.js","sources":["../../src/environment/dome-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG,eAAe,CACzC,cAAc,EACd;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,kCAAkC;;;;"}
@@ -16,8 +16,10 @@ import { Types } from '../ecs/index.js';
16
16
  */
17
17
  export declare const DomeTexture: import("elics").Component<{
18
18
  src: {
19
- type: Types.String;
19
+ type: Types.FilePath;
20
20
  default: string;
21
+ fileTypes: string;
22
+ subfolder: string;
21
23
  };
22
24
  blurriness: {
23
25
  type: Types.Float32;
@@ -1 +1 @@
1
- {"version":3,"file":"dome-texture.d.ts","sourceRoot":"","sources":["../../src/environment/dome-texture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC"}
1
+ {"version":3,"file":"dome-texture.d.ts","sourceRoot":"","sources":["../../src/environment/dome-texture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import '@preact/signals-core';
2
2
  import '../ecs/world.js';
3
3
  import { createComponent, Types } from 'elics';
4
+ import '../ecs/entity.js';
4
5
  import '../ecs/component-registry.js';
5
6
 
6
7
  /**
@@ -19,7 +20,12 @@ import '../ecs/component-registry.js';
19
20
  * @category Environment & Lighting
20
21
  */
21
22
  const DomeTexture = createComponent('DomeTexture', {
22
- src: { type: Types.String, default: '' },
23
+ src: {
24
+ type: Types.FilePath,
25
+ default: '',
26
+ fileTypes: '.png,.jpg,.ktx2,.hdr,.exr',
27
+ subfolder: 'textures',
28
+ },
23
29
  blurriness: { type: Types.Float32, default: 0.0 },
24
30
  intensity: { type: Types.Float32, default: 1.0 },
25
31
  rotation: { type: Types.Vec3, default: [0, 0, 0] }, // radians [x,y,z]
@@ -1 +1 @@
1
- {"version":3,"file":"dome-texture.js","sources":["../../src/environment/dome-texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IACxC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;AAChD,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,wDAAwD;;;;"}
1
+ {"version":3,"file":"dome-texture.js","sources":["../../src/environment/dome-texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;AACE,IAAA,GAAG,EAAE;QACH,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,SAAS,EAAE,UAAU;AACtB,KAAA;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;AAChD,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,wDAAwD;;;;"}
@@ -61,6 +61,9 @@ export declare class EnvironmentSystem extends EnvironmentSystem_base {
61
61
  private pmrem;
62
62
  private gradientGeometry?;
63
63
  private tmpColor;
64
+ private recenterYawOffset;
65
+ private resetListenerCleanup;
66
+ private needsResetListener;
64
67
  init(): void;
65
68
  update(): void;
66
69
  private processBackground;
@@ -74,6 +77,11 @@ export declare class EnvironmentSystem extends EnvironmentSystem_base {
74
77
  private updateIBLProps;
75
78
  private updateIBLGradient;
76
79
  private setEnvironment;
80
+ private onXRSessionStart;
81
+ private attachResetListener;
82
+ private onXRSessionEnd;
83
+ private onReferenceSpaceReset;
84
+ private applyRecenterCompensation;
77
85
  private updateBackgroundForXRMode;
78
86
  private ensureGradientDome;
79
87
  private clearGradientDome;
@@ -1 +1 @@
1
- {"version":3,"file":"environment-system.d.ts","sourceRoot":"","sources":["../../src/environment/environment-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAkB,SAAQ,sBAKrC;IACA,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAsB;IAEtC,IAAI,IAAI,IAAI;IAiBZ,MAAM,IAAI,IAAI;YA4CA,iBAAiB;IAwB/B,OAAO,CAAC,+BAA+B;YASzB,2BAA2B;IAoBzC,OAAO,CAAC,qBAAqB;YAWf,kBAAkB;YA4BlB,UAAU;IAwBxB,OAAO,CAAC,oBAAoB;YASd,gBAAgB;IAwB9B,OAAO,CAAC,cAAc;YAaR,iBAAiB;IA+C/B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,iBAAiB;CAW1B"}
1
+ {"version":3,"file":"environment-system.d.ts","sourceRoot":"","sources":["../../src/environment/environment-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAkB,SAAQ,sBAKrC;IACA,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,kBAAkB,CAAkB;IAE5C,IAAI,IAAI,IAAI;IA2BZ,MAAM,IAAI,IAAI;YAqDA,iBAAiB;IAwB/B,OAAO,CAAC,+BAA+B;YASzB,2BAA2B;IAoBzC,OAAO,CAAC,qBAAqB;YAef,kBAAkB;YA4BlB,UAAU;IAwBxB,OAAO,CAAC,oBAAoB;YASd,gBAAgB;IAwB9B,OAAO,CAAC,cAAc;YAaR,iBAAiB;IA+C/B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB,CAQtB;IAEF,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,iBAAiB;CAW1B"}
@@ -4,6 +4,7 @@ import { CacheManager } from '../asset/cache-manager.js';
4
4
  import { createSystem } from '../ecs/system.js';
5
5
  import '../ecs/world.js';
6
6
  import 'elics';
7
+ import '../ecs/entity.js';
7
8
  import '../ecs/component-registry.js';
8
9
  import '../level/level-system.js';
9
10
  import '../level/level-tag.js';
@@ -63,6 +64,27 @@ class EnvironmentSystem extends createSystem({
63
64
  super(...arguments);
64
65
  this.state = {};
65
66
  this.tmpColor = new Color();
67
+ this.recenterYawOffset = 0;
68
+ this.resetListenerCleanup = null;
69
+ this.needsResetListener = false;
70
+ // XR recenter handling
71
+ this.onXRSessionStart = () => {
72
+ this.recenterYawOffset = 0;
73
+ const refSpace = this.xrManager.getReferenceSpace();
74
+ if (refSpace) {
75
+ this.attachResetListener(refSpace);
76
+ }
77
+ else {
78
+ this.needsResetListener = true;
79
+ }
80
+ };
81
+ this.onXRSessionEnd = () => {
82
+ var _a;
83
+ (_a = this.resetListenerCleanup) === null || _a === void 0 ? void 0 : _a.call(this);
84
+ this.resetListenerCleanup = null;
85
+ this.recenterYawOffset = 0;
86
+ this.needsResetListener = false;
87
+ };
66
88
  }
67
89
  init() {
68
90
  this.pmrem = new PMREMGenerator(this.renderer);
@@ -77,9 +99,27 @@ class EnvironmentSystem extends createSystem({
77
99
  });
78
100
  // XR background toggle
79
101
  this.cleanupFuncs.push(this.visibilityState.subscribe(() => this.updateBackgroundForXRMode()));
102
+ // XR recenter compensation
103
+ this.xrManager.addEventListener('sessionstart', this.onXRSessionStart);
104
+ this.xrManager.addEventListener('sessionend', this.onXRSessionEnd);
105
+ this.cleanupFuncs.push(() => {
106
+ var _a;
107
+ this.xrManager.removeEventListener('sessionstart', this.onXRSessionStart);
108
+ this.xrManager.removeEventListener('sessionend', this.onXRSessionEnd);
109
+ (_a = this.resetListenerCleanup) === null || _a === void 0 ? void 0 : _a.call(this);
110
+ this.resetListenerCleanup = null;
111
+ });
80
112
  }
81
113
  update() {
82
114
  var _a;
115
+ // Deferred reset listener attachment
116
+ if (this.needsResetListener) {
117
+ const refSpace = this.xrManager.getReferenceSpace();
118
+ if (refSpace) {
119
+ this.attachResetListener(refSpace);
120
+ this.needsResetListener = false;
121
+ }
122
+ }
83
123
  // Choose background source: DomeTexture > DomeGradient
84
124
  let backgroundEntity;
85
125
  for (const e of this.queries.domeTextures.entities) {
@@ -178,7 +218,7 @@ class EnvironmentSystem extends createSystem({
178
218
  this.scene.backgroundBlurriness = blurriness;
179
219
  this.scene.backgroundIntensity = intensity;
180
220
  if (rot) {
181
- (_c = this.scene.backgroundRotation) === null || _c === void 0 ? void 0 : _c.set(rot[0] || 0, rot[1] || 0, rot[2] || 0);
221
+ (_c = this.scene.backgroundRotation) === null || _c === void 0 ? void 0 : _c.set(rot[0] || 0, (rot[1] || 0) + this.recenterYawOffset, rot[2] || 0);
182
222
  }
183
223
  }
184
224
  async updateDomeGradient(entity, forIBL) {
@@ -266,7 +306,7 @@ class EnvironmentSystem extends createSystem({
266
306
  const rot = entity.getVectorView(IBLTexture, 'rotation');
267
307
  this.scene.environmentIntensity = intensity;
268
308
  if (rot) {
269
- (_b = this.scene.environmentRotation) === null || _b === void 0 ? void 0 : _b.set(rot[0] || 0, rot[1] || 0, rot[2] || 0);
309
+ (_b = this.scene.environmentRotation) === null || _b === void 0 ? void 0 : _b.set(rot[0] || 0, (rot[1] || 0) + this.recenterYawOffset, rot[2] || 0);
270
310
  }
271
311
  }
272
312
  async updateIBLGradient(entity) {
@@ -314,6 +354,42 @@ class EnvironmentSystem extends createSystem({
314
354
  this.scene.environment = null;
315
355
  }
316
356
  }
357
+ attachResetListener(refSpace) {
358
+ const onReset = (event) => {
359
+ this.onReferenceSpaceReset(event);
360
+ };
361
+ refSpace.addEventListener('reset', onReset);
362
+ this.resetListenerCleanup = () => {
363
+ refSpace.removeEventListener('reset', onReset);
364
+ };
365
+ }
366
+ onReferenceSpaceReset(event) {
367
+ const transform = event.transform;
368
+ if (!transform) {
369
+ return;
370
+ }
371
+ const q = transform.orientation;
372
+ const yaw = Math.atan2(2 * (q.w * q.y + q.x * q.z), 1 - 2 * (q.y * q.y + q.z * q.z));
373
+ this.recenterYawOffset += yaw;
374
+ this.applyRecenterCompensation();
375
+ }
376
+ applyRecenterCompensation() {
377
+ var _a, _b;
378
+ for (const entity of this.queries.iblTextures.entities) {
379
+ const rot = entity.getVectorView(IBLTexture, 'rotation');
380
+ if (rot) {
381
+ (_a = this.scene.environmentRotation) === null || _a === void 0 ? void 0 : _a.set(rot[0] || 0, (rot[1] || 0) + this.recenterYawOffset, rot[2] || 0);
382
+ }
383
+ break;
384
+ }
385
+ for (const entity of this.queries.domeTextures.entities) {
386
+ const rot = entity.getVectorView(DomeTexture, 'rotation');
387
+ if (rot) {
388
+ (_b = this.scene.backgroundRotation) === null || _b === void 0 ? void 0 : _b.set(rot[0] || 0, (rot[1] || 0) + this.recenterYawOffset, rot[2] || 0);
389
+ }
390
+ break;
391
+ }
392
+ }
317
393
  // XR background handling
318
394
  updateBackgroundForXRMode() {
319
395
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"environment-system.js","sources":["../../src/environment/environment-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-system.js","sources":["../../src/environment/environment-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import '@preact/signals-core';
2
2
  import '../ecs/world.js';
3
3
  import { createComponent, Types } from 'elics';
4
+ import '../ecs/entity.js';
4
5
  import '../ecs/component-registry.js';
5
6
 
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ibl-gradient.js","sources":["../../src/environment/ibl-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;AAOG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACjE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,2BAA2B;;;;"}
1
+ {"version":3,"file":"ibl-gradient.js","sources":["../../src/environment/ibl-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;AAOG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACjE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,2BAA2B;;;;"}
@@ -17,8 +17,10 @@ import { Types } from '../ecs/index.js';
17
17
  */
18
18
  export declare const IBLTexture: import("elics").Component<{
19
19
  src: {
20
- type: Types.String;
20
+ type: Types.FilePath;
21
21
  default: string;
22
+ fileTypes: string;
23
+ subfolder: string;
22
24
  };
23
25
  intensity: {
24
26
  type: Types.Float32;
@@ -1 +1 @@
1
- {"version":3,"file":"ibl-texture.d.ts","sourceRoot":"","sources":["../../src/environment/ibl-texture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;EAStB,CAAC"}
1
+ {"version":3,"file":"ibl-texture.d.ts","sourceRoot":"","sources":["../../src/environment/ibl-texture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;EActB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import '@preact/signals-core';
2
2
  import '../ecs/world.js';
3
3
  import { createComponent, Types } from 'elics';
4
+ import '../ecs/entity.js';
4
5
  import '../ecs/component-registry.js';
5
6
 
6
7
  /**
@@ -20,7 +21,12 @@ import '../ecs/component-registry.js';
20
21
  * @category Environment & Lighting
21
22
  */
22
23
  const IBLTexture = createComponent('IBLTexture', {
23
- src: { type: Types.String, default: 'room' },
24
+ src: {
25
+ type: Types.FilePath,
26
+ default: 'room',
27
+ fileTypes: '.png,.jpg,.ktx2,.hdr,.exr',
28
+ subfolder: 'textures',
29
+ },
24
30
  intensity: { type: Types.Float32, default: 1.0 },
25
31
  rotation: { type: Types.Vec3, default: [0, 0, 0] },
26
32
  _needsUpdate: { type: Types.Boolean, default: true },
@@ -1 +1 @@
1
- {"version":3,"file":"ibl-texture.js","sources":["../../src/environment/ibl-texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;AASG;AACI,MAAM,UAAU,GAAG,eAAe,CACvC,YAAY,EACZ;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;AAChD,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,uDAAuD;;;;"}
1
+ {"version":3,"file":"ibl-texture.js","sources":["../../src/environment/ibl-texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;AASG;AACI,MAAM,UAAU,GAAG,eAAe,CACvC,YAAY,EACZ;AACE,IAAA,GAAG,EAAE;QACH,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,SAAS,EAAE,UAAU;AACtB,KAAA;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;AAChD,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,uDAAuD;;;;"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ declare const EnvironmentRaycastSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
8
+ targets: {
9
+ required: import("elics").Component<{
10
+ space: {
11
+ type: import("elics/lib/types.js").Types.Enum;
12
+ enum: {
13
+ readonly Left: "left";
14
+ readonly Right: "right";
15
+ readonly Viewer: "viewer";
16
+ readonly Screen: "screen";
17
+ };
18
+ default: "right";
19
+ };
20
+ maxDistance: {
21
+ type: import("elics/lib/types.js").Types.Float32;
22
+ default: number;
23
+ };
24
+ offsetPosition: {
25
+ type: import("elics/lib/types.js").Types.Object;
26
+ default: undefined;
27
+ };
28
+ offsetQuaternion: {
29
+ type: import("elics/lib/types.js").Types.Object;
30
+ default: undefined;
31
+ };
32
+ xrHitTestResult: {
33
+ type: import("elics/lib/types.js").Types.Object;
34
+ default: undefined;
35
+ };
36
+ inputSource: {
37
+ type: import("elics/lib/types.js").Types.Object;
38
+ default: undefined;
39
+ };
40
+ _source: {
41
+ type: import("elics/lib/types.js").Types.Object;
42
+ default: undefined;
43
+ };
44
+ _raySpace: {
45
+ type: import("elics/lib/types.js").Types.Object;
46
+ default: undefined;
47
+ };
48
+ _transientSource: {
49
+ type: import("elics/lib/types.js").Types.Object;
50
+ default: undefined;
51
+ };
52
+ _sourceRequested: {
53
+ type: import("elics/lib/types.js").Types.Boolean;
54
+ default: false;
55
+ };
56
+ }>[];
57
+ };
58
+ }, import("../ecs/world.js").World, import("../ecs/system.js").System<import("elics").SystemSchema, {
59
+ targets: {
60
+ required: import("elics").Component<{
61
+ space: {
62
+ type: import("elics/lib/types.js").Types.Enum;
63
+ enum: {
64
+ readonly Left: "left";
65
+ readonly Right: "right";
66
+ readonly Viewer: "viewer";
67
+ readonly Screen: "screen";
68
+ };
69
+ default: "right";
70
+ };
71
+ maxDistance: {
72
+ type: import("elics/lib/types.js").Types.Float32;
73
+ default: number;
74
+ };
75
+ offsetPosition: {
76
+ type: import("elics/lib/types.js").Types.Object;
77
+ default: undefined;
78
+ };
79
+ offsetQuaternion: {
80
+ type: import("elics/lib/types.js").Types.Object;
81
+ default: undefined;
82
+ };
83
+ xrHitTestResult: {
84
+ type: import("elics/lib/types.js").Types.Object;
85
+ default: undefined;
86
+ };
87
+ inputSource: {
88
+ type: import("elics/lib/types.js").Types.Object;
89
+ default: undefined;
90
+ };
91
+ _source: {
92
+ type: import("elics/lib/types.js").Types.Object;
93
+ default: undefined;
94
+ };
95
+ _raySpace: {
96
+ type: import("elics/lib/types.js").Types.Object;
97
+ default: undefined;
98
+ };
99
+ _transientSource: {
100
+ type: import("elics/lib/types.js").Types.Object;
101
+ default: undefined;
102
+ };
103
+ _sourceRequested: {
104
+ type: import("elics/lib/types.js").Types.Boolean;
105
+ default: false;
106
+ };
107
+ }>[];
108
+ };
109
+ }>>;
110
+ /**
111
+ * System that manages environment raycasting.
112
+ * @category Environment Raycast
113
+ */
114
+ export declare class EnvironmentRaycastSystem extends EnvironmentRaycastSystem_base {
115
+ private hitTestFeatureEnabled;
116
+ private pendingControllerSources;
117
+ init(): void;
118
+ update(_delta: number, _time: number): void;
119
+ private handleStandardRaycast;
120
+ private handleTransientInput;
121
+ private checkPendingControllerSources;
122
+ private updateEnabledFeatures;
123
+ private requestRaycastSource;
124
+ private buildOffsetRay;
125
+ private requestTransientRaycastSource;
126
+ private resolveXRSpace;
127
+ private updateRaycastResults;
128
+ private updateTransientRaycastResults;
129
+ private getRayOrigin;
130
+ private findValidHitResult;
131
+ private applyHitResult;
132
+ private clearHitResult;
133
+ private cleanupRaycastSource;
134
+ }
135
+ export {};
136
+ //# sourceMappingURL=environment-raycast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-raycast.d.ts","sourceRoot":"","sources":["../../src/environment-raycast/environment-raycast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,6BAE5C;IACA,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,wBAAwB,CAAuC;IAEvE,IAAI,IAAI,IAAI;IAmBZ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyB3C,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,qBAAqB;YAWf,oBAAoB;IA0ClC,OAAO,CAAC,cAAc;YAoCR,6BAA6B;YA0B7B,cAAc;IAwB5B,OAAO,CAAC,oBAAoB;IA0D5B,OAAO,CAAC,6BAA6B;IAkDrC,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,oBAAoB;CAoC7B"}