@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-runtime.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAkC7C;;;;;;GAMG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAIhC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CAkCpB"}
@@ -0,0 +1,85 @@
1
+ import { installDebugHook, ecsDiff, ecsSnapshot, ecsSetComponent, ecsToggleSystem, ecsListComponents, ecsListSystems, ecsFindEntities, ecsQueryEntity, ecsStep, ecsResume, ecsPause } from './ecs-debug-tools.js';
2
+ import { getObjectTransform, getSceneHierarchy } from './scene-tools.js';
3
+
4
+ /**
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ const SUPPORTED_METHODS = [
11
+ 'get_scene_hierarchy',
12
+ 'get_object_transform',
13
+ 'ecs_pause',
14
+ 'ecs_resume',
15
+ 'ecs_step',
16
+ 'ecs_query_entity',
17
+ 'ecs_find_entities',
18
+ 'ecs_list_systems',
19
+ 'ecs_list_components',
20
+ 'ecs_toggle_system',
21
+ 'ecs_set_component',
22
+ 'ecs_snapshot',
23
+ 'ecs_diff',
24
+ ];
25
+ /**
26
+ * MCP Runtime for IWSDK that provides framework-specific tools.
27
+ * This is set on window.FRAMEWORK_MCP_RUNTIME during World.create()
28
+ * for the vite-plugin-dev to route requests to.
29
+ *
30
+ * @category Runtime
31
+ */
32
+ class MCPRuntime {
33
+ constructor(world) {
34
+ this.world = world;
35
+ installDebugHook(world);
36
+ }
37
+ /**
38
+ * Returns true if this runtime handles the given method.
39
+ * Used by vite-plugin-dev to route requests appropriately.
40
+ */
41
+ handles(method) {
42
+ return SUPPORTED_METHODS.includes(method);
43
+ }
44
+ /**
45
+ * Dispatch a method call. Returns result or throws an error.
46
+ * @param method - The MCP tool name (e.g., 'get_scene_hierarchy')
47
+ * @param params - Parameters passed to the tool
48
+ * @returns Promise resolving to the tool result
49
+ */
50
+ async dispatch(method, params) {
51
+ switch (method) {
52
+ case 'get_scene_hierarchy':
53
+ return getSceneHierarchy(this.world, params);
54
+ case 'get_object_transform':
55
+ return getObjectTransform(this.world, params);
56
+ case 'ecs_pause':
57
+ return ecsPause(this.world);
58
+ case 'ecs_resume':
59
+ return ecsResume(this.world);
60
+ case 'ecs_step':
61
+ return ecsStep(this.world, params);
62
+ case 'ecs_query_entity':
63
+ return ecsQueryEntity(this.world, params);
64
+ case 'ecs_find_entities':
65
+ return ecsFindEntities(this.world, params);
66
+ case 'ecs_list_systems':
67
+ return ecsListSystems(this.world);
68
+ case 'ecs_list_components':
69
+ return ecsListComponents();
70
+ case 'ecs_toggle_system':
71
+ return ecsToggleSystem(this.world, params);
72
+ case 'ecs_set_component':
73
+ return ecsSetComponent(this.world, params);
74
+ case 'ecs_snapshot':
75
+ return ecsSnapshot(this.world, params);
76
+ case 'ecs_diff':
77
+ return ecsDiff(this.world, params);
78
+ default:
79
+ throw new Error(`Unknown IWSDK method '${method}'. Available methods: ${SUPPORTED_METHODS.join(', ')}`);
80
+ }
81
+ }
82
+ }
83
+
84
+ export { MCPRuntime };
85
+ //# sourceMappingURL=mcp-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-runtime.js","sources":["../../src/mcp/mcp-runtime.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAmBH,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,UAAU;CACF;AAGV;;;;;;AAMG;MACU,UAAU,CAAA;AACrB,IAAA,WAAA,CAAoB,KAAY,EAAA;QAAZ,IAAA,CAAA,KAAK,GAAL,KAAK;QACvB,gBAAgB,CAAC,KAAK,CAAC;IACzB;AAEA;;;AAGG;AACH,IAAA,OAAO,CAAC,MAAc,EAAA;AACpB,QAAA,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAyB,CAAC;IAC9D;AAEA;;;;;AAKG;AACH,IAAA,MAAM,QAAQ,CACZ,MAAc,EACd,MAA+B,EAAA;QAE/B,QAAQ,MAAM;AACZ,YAAA,KAAK,qBAAqB;gBACxB,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC9C,YAAA,KAAK,sBAAsB;gBACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC/C,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,YAAA,KAAK,UAAU;gBACb,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACpC,YAAA,KAAK,kBAAkB;gBACrB,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,YAAA,KAAK,mBAAmB;gBACtB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,YAAA,KAAK,kBAAkB;AACrB,gBAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,YAAA,KAAK,qBAAqB;gBACxB,OAAO,iBAAiB,EAAE;AAC5B,YAAA,KAAK,mBAAmB;gBACtB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,YAAA,KAAK,mBAAmB;gBACtB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,YAAA,KAAK,cAAc;gBACjB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACxC,YAAA,KAAK,UAAU;gBACb,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACpC,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,sBAAA,EAAyB,MAAM,CAAA,sBAAA,EAAyB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACvF;;IAEP;AACD;;;;"}
@@ -0,0 +1,41 @@
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
+ import type { World } from '../ecs/world.js';
8
+ /**
9
+ * Hierarchy node returned by get_scene_hierarchy
10
+ */
11
+ export interface HierarchyNode {
12
+ name: string;
13
+ uuid: string;
14
+ entityIndex?: number;
15
+ children?: HierarchyNode[];
16
+ /** Present when children were truncated due to breadth limit. */
17
+ truncatedChildren?: number;
18
+ }
19
+ /**
20
+ * Transform data returned by get_object_transform
21
+ */
22
+ export interface ObjectTransform {
23
+ localPosition: [number, number, number];
24
+ localQuaternion: [number, number, number, number];
25
+ localScale: [number, number, number];
26
+ globalPosition: [number, number, number];
27
+ globalQuaternion: [number, number, number, number];
28
+ globalScale: [number, number, number];
29
+ positionRelativeToXROrigin: [number, number, number] | null;
30
+ }
31
+ /**
32
+ * Get the Three.js scene hierarchy as a JSON tree.
33
+ * Returns object names, UUIDs, and entity indices where available.
34
+ */
35
+ export declare function getSceneHierarchy(world: World, params: Record<string, unknown>): HierarchyNode;
36
+ /**
37
+ * Get local and global transforms of an Object3D.
38
+ * Includes positionRelativeToXROrigin which can be used directly with IWER look_at tool.
39
+ */
40
+ export declare function getObjectTransform(world: World, params: Record<string, unknown>): ObjectTransform;
41
+ //# sourceMappingURL=scene-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/scene-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,0BAA0B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7D;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAqBf;AAiCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,eAAe,CAgEjB"}
@@ -0,0 +1,95 @@
1
+ import '../runtime/three.js';
2
+ import { Vector3, Quaternion } from 'three';
3
+
4
+ /**
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ /** Default maximum number of children per node before truncation. */
11
+ const DEFAULT_MAX_CHILDREN = 50;
12
+ /**
13
+ * Get the Three.js scene hierarchy as a JSON tree.
14
+ * Returns object names, UUIDs, and entity indices where available.
15
+ */
16
+ function getSceneHierarchy(world, params) {
17
+ const { parentId, maxDepth = 5, maxChildren = DEFAULT_MAX_CHILDREN, } = params;
18
+ let root;
19
+ if (parentId) {
20
+ root = world.scene.getObjectByProperty('uuid', parentId);
21
+ if (!root) {
22
+ throw new Error(`Object not found with UUID '${parentId}'. Use get_scene_hierarchy without parentId to see all available objects.`);
23
+ }
24
+ }
25
+ else {
26
+ root = world.scene;
27
+ }
28
+ return buildHierarchy(root, 0, maxDepth, maxChildren);
29
+ }
30
+ function buildHierarchy(obj, depth, maxDepth, maxChildren) {
31
+ const node = {
32
+ name: obj.name || '(unnamed)',
33
+ uuid: obj.uuid,
34
+ };
35
+ // Check if Object3D has associated entity (entityIdx is set by Transform component)
36
+ if ('entityIdx' in obj && typeof obj.entityIdx === 'number') {
37
+ node.entityIndex = obj.entityIdx;
38
+ }
39
+ if (depth < maxDepth && obj.children.length > 0) {
40
+ const total = obj.children.length;
41
+ const limit = Math.max(1, maxChildren);
42
+ const childrenToInclude = obj.children.slice(0, limit);
43
+ node.children = childrenToInclude.map((child) => buildHierarchy(child, depth + 1, maxDepth, maxChildren));
44
+ if (total > limit) {
45
+ node.truncatedChildren = total - limit;
46
+ }
47
+ }
48
+ return node;
49
+ }
50
+ /**
51
+ * Get local and global transforms of an Object3D.
52
+ * Includes positionRelativeToXROrigin which can be used directly with IWER look_at tool.
53
+ */
54
+ function getObjectTransform(world, params) {
55
+ const { uuid } = params;
56
+ if (!uuid) {
57
+ throw new Error('uuid parameter is required. Use get_scene_hierarchy to discover object UUIDs.');
58
+ }
59
+ const obj = world.scene.getObjectByProperty('uuid', uuid);
60
+ if (!obj) {
61
+ throw new Error(`Object not found with UUID '${uuid}'. Use get_scene_hierarchy to discover available objects.`);
62
+ }
63
+ // Ensure world matrix is up to date
64
+ obj.updateWorldMatrix(true, false);
65
+ // Local transform (direct properties)
66
+ const localPosition = obj.position.toArray();
67
+ const localQuaternion = obj.quaternion.toArray();
68
+ const localScale = obj.scale.toArray();
69
+ // Global transform (decompose from world matrix)
70
+ const globalPosition = new Vector3();
71
+ const globalQuaternion = new Quaternion();
72
+ const globalScale = new Vector3();
73
+ obj.matrixWorld.decompose(globalPosition, globalQuaternion, globalScale);
74
+ // Position relative to XR origin
75
+ let positionRelativeToXROrigin = null;
76
+ if (world.player) {
77
+ // Clone the global position and convert to XR origin local space
78
+ const relativePos = globalPosition.clone();
79
+ world.player.updateWorldMatrix(true, false);
80
+ world.player.worldToLocal(relativePos);
81
+ positionRelativeToXROrigin = relativePos.toArray();
82
+ }
83
+ return {
84
+ localPosition,
85
+ localQuaternion,
86
+ localScale,
87
+ globalPosition: globalPosition.toArray(),
88
+ globalQuaternion: globalQuaternion.toArray(),
89
+ globalScale: globalScale.toArray(),
90
+ positionRelativeToXROrigin,
91
+ };
92
+ }
93
+
94
+ export { getObjectTransform, getSceneHierarchy };
95
+ //# sourceMappingURL=scene-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-tools.js","sources":["../../src/mcp/scene-tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ declare const PhysicsSystem_base: import("elics").SystemConstructor<{
149
149
  }>)[];
150
150
  where: import("elics").ValuePredicate[];
151
151
  };
152
- }, import("../ecs/world").World, import("../ecs/system").System<{
152
+ }, import("../ecs/world.js").World, import("../ecs/system.js").System<{
153
153
  gravity: {
154
154
  type: Types.Vec3;
155
155
  default: [number, number, number];
@@ -1 +1 @@
1
- {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAqC,KAAK,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAc,SAAQ,kBAalC;IACC,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAiB;IAE/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6J3B,OAAO,CAAC,UAAU;IAyDlB,OAAO,CAAC,iBAAiB;IAmHzB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;CAenB"}
1
+ {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EAAqC,KAAK,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAc,SAAQ,kBAalC;IACC,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAiB;IAE/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6J3B,OAAO,CAAC,UAAU;IA8DlB,OAAO,CAAC,iBAAiB;IAmHzB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;CAenB"}
@@ -1,12 +1,11 @@
1
- import { PhysicsBody, DEFAULT_LINEAR_DAMPING, DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, PhysicsState } from './physicsBody.js';
2
- import { PhysicsShape, PhysicsShapeType } from './physicsShape.js';
3
1
  import '../index.js';
4
2
  import '../runtime/three.js';
5
- import { detectShapeFromGeometry, generateMergedGeometry } from './utils.js';
3
+ import { PhysicsBody, DEFAULT_LINEAR_DAMPING, DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, PhysicsState } from './physicsBody.js';
6
4
  import { PhysicsManipulation } from './physicsManipulation.js';
5
+ import { PhysicsShape, PhysicsShapeType } from './physicsShape.js';
6
+ import { detectShapeFromGeometry, generateMergedGeometry } from './utils.js';
7
7
  import { Types, ne } from 'elics';
8
8
  import { Pressed } from '../input/state-tags.js';
9
- import '../grab/index.js';
10
9
  import { createSystem } from '../ecs/system.js';
11
10
  import { Vector3, Matrix4, Mesh } from 'three';
12
11
 
@@ -194,6 +193,12 @@ class PhysicsSystem extends createSystem({
194
193
  if (!centerOfMass.every((e) => e == Infinity)) {
195
194
  massProps[0] = [centerOfMass[0], centerOfMass[1], centerOfMass[2]];
196
195
  }
196
+ else {
197
+ // Update the centerOfMass with the computed value from mass properties
198
+ centerOfMass[0] = massProps[0][0];
199
+ centerOfMass[1] = massProps[0][1];
200
+ centerOfMass[2] = massProps[0][2];
201
+ }
197
202
  this.havok.HP_Body_SetMassProperties(body, massProps);
198
203
  let motionType;
199
204
  switch (state) {
@@ -1 +1 @@
1
- {"version":3,"file":"physics-system.js","sources":["../../src/physics/physics-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-system.js","sources":["../../src/physics/physics-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/physics/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAOL,cAAc,EAEd,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAY7B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GACjB,oBAAoB,CAsEtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GACjB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CA+B1B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAuBzE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/physics/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAOL,cAAc,EAEd,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAW7B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GACjB,oBAAoB,CAsEtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GACjB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CA+B1B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAuBzE"}
@@ -1,6 +1,6 @@
1
+ import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js';
1
2
  import '../runtime/three.js';
2
3
  import { PhysicsShapeType } from './physicsShape.js';
3
- import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js';
4
4
  import { Vector3, Quaternion, Matrix4, Mesh, SphereGeometry, BoxGeometry, PlaneGeometry, CylinderGeometry, BufferGeometry, Box3 } from 'three';
5
5
 
6
6
  /**
@@ -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":"anchor.js","sources":["../../src/scene-understanding/anchor.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AAEI,MAAM,QAAQ,GAAG,eAAe,CACrC,UAAU,EACV;IACE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CAClD,EACD,8CAA8C;;;;"}
1
+ {"version":3,"file":"anchor.js","sources":["../../src/scene-understanding/anchor.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AAEI,MAAM,QAAQ,GAAG,eAAe,CACrC,UAAU,EACV;IACE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CAClD,EACD,8CAA8C;;;;"}
@@ -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":"mesh.js","sources":["../../src/scene-understanding/mesh.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AAEI,MAAM,MAAM,GAAG,eAAe,CACnC,QAAQ,EACR;IACE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;IACjD,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACpD,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;AAClD,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7C,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7C,IAAA,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACrD,EACD,+CAA+C;;;;"}
1
+ {"version":3,"file":"mesh.js","sources":["../../src/scene-understanding/mesh.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AAEI,MAAM,MAAM,GAAG,eAAe,CACnC,QAAQ,EACR;IACE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;IACjD,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACpD,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;AAClD,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7C,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7C,IAAA,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACrD,EACD,+CAA+C;;;;"}
@@ -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":"plane.js","sources":["../../src/scene-understanding/plane.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AAEI,MAAM,OAAO,GAAG,eAAe,CACpC,SAAS,EACT;IACE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;CACnD,EACD,+CAA+C;;;;"}
1
+ {"version":3,"file":"plane.js","sources":["../../src/scene-understanding/plane.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AAEI,MAAM,OAAO,GAAG,eAAe,CACpC,SAAS,EACT;IACE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;CACnD,EACD,+CAA+C;;;;"}
@@ -160,17 +160,46 @@ export declare class SceneUnderstandingSystem extends SceneUnderstandingSystem_b
160
160
  private planeFeatureEnabled;
161
161
  private meshFeatureEnabled;
162
162
  private anchorFeatureEnabled;
163
+ /** Tracks whether an anchor creation request is in progress to prevent duplicate requests */
163
164
  private anchorRequested;
165
+ /** The current XRAnchor instance for this session. Reset on session end to prevent stale XRSpace references. */
164
166
  private xrAnchor;
165
167
  private currentPlanes;
166
168
  private currentMeshes;
169
+ /** Group that holds all anchored objects, positioned to match the XRAnchor's world pose */
167
170
  private anchoredGroup;
168
171
  private matrixBuffer;
172
+ /** Shared material for all plane visualization meshes */
173
+ private planeMaterial;
174
+ /** Shared material for all mesh visualization meshes */
175
+ private meshMaterial;
176
+ /** localStorage key for storing the persistent anchor UUID */
177
+ private static readonly ANCHOR_UUID_STORAGE_KEY;
169
178
  init(): void;
170
179
  update(_delta: number, _time: number): void;
171
180
  private updatePlanes;
172
181
  private updateMeshes;
173
182
  private updateEnabledFeatures;
183
+ /**
184
+ * Attempts to restore a persistent anchor from a previous session.
185
+ *
186
+ * Persistent anchors allow anchored objects to maintain their world position
187
+ * across XR sessions. The anchor UUID is stored in localStorage and used to
188
+ * restore the same anchor when a new session starts.
189
+ *
190
+ * If restoration fails (e.g., user cleared the space, runtime doesn't support
191
+ * persistence, or the anchor was deleted), this fails gracefully and a new
192
+ * anchor will be created in the update loop.
193
+ */
194
+ private tryRestorePersistentAnchor;
195
+ /**
196
+ * Creates a new XR anchor at the origin of the reference space.
197
+ *
198
+ * The anchor is used to attach virtual objects to a stable real-world position.
199
+ * After creation, attempts to request a persistent handle so the anchor can be
200
+ * restored in future sessions. If persistence is not supported, the anchor
201
+ * will only last for the current session.
202
+ */
174
203
  private createAnchor;
175
204
  private updateAnchoredObject;
176
205
  private flatToVec3Array;
@@ -1 +1 @@
1
- {"version":3,"file":"scene-understanding-system.d.ts","sourceRoot":"","sources":["../../src/scene-understanding/scene-understanding-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAwB,KAAK,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAc9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,wBAAyB,SAAQ,6BAS7C;IACC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,YAAY,CAAiB;IAErC,IAAI,IAAI,IAAI;IAmCZ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsC3C,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,YAAY;IA6EpB,OAAO,CAAC,qBAAqB;YAgCf,YAAY;IAoB1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;CAkB1B"}
1
+ {"version":3,"file":"scene-understanding-system.d.ts","sourceRoot":"","sources":["../../src/scene-understanding/scene-understanding-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAwB,KAAK,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAc9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,wBAAyB,SAAQ,6BAS7C;IACC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAElD,6FAA6F;IAC7F,OAAO,CAAC,eAAe,CAAkB;IAEzC,gHAAgH;IAChH,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA6B;IAElD,2FAA2F;IAC3F,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,YAAY,CAAiB;IAErC,yDAAyD;IACzD,OAAO,CAAC,aAAa,CAAqB;IAE1C,wDAAwD;IACxD,OAAO,CAAC,YAAY,CAAqB;IAEzC,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IAE5E,IAAI,IAAI,IAAI;IAkFZ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyC3C,OAAO,CAAC,YAAY;IAkEpB,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,qBAAqB;IAgC7B;;;;;;;;;;OAUG;YACW,0BAA0B;IAsCxC;;;;;;;OAOG;YACW,YAAY;IAiC1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;CAkB1B"}