@iwsdk/core 1.0.0-rc.0 → 1.0.0-rc.1

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 (132) hide show
  1. package/dist/asset/asset-manager.js.map +1 -1
  2. package/dist/asset/cache-manager.js.map +1 -1
  3. package/dist/asset/loaders/audio-loader.js.map +1 -1
  4. package/dist/asset/loaders/cached-asset-load.js.map +1 -1
  5. package/dist/asset/loaders/gltf-loader.js.map +1 -1
  6. package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
  7. package/dist/asset/loaders/texture-loader.js.map +1 -1
  8. package/dist/asset/loaders/uikitml-loader.js.map +1 -1
  9. package/dist/audio/audio-pool.js.map +1 -1
  10. package/dist/audio/audio-system.js.map +1 -1
  11. package/dist/audio/audio-utils.js.map +1 -1
  12. package/dist/audio/audio.js.map +1 -1
  13. package/dist/camera/camera-source.js.map +1 -1
  14. package/dist/camera/camera-system.js.map +1 -1
  15. package/dist/camera/camera-utils.js.map +1 -1
  16. package/dist/camera/types.js.map +1 -1
  17. package/dist/depth/depth-occludable.js.map +1 -1
  18. package/dist/depth/depth-sensing-system.js.map +1 -1
  19. package/dist/depth/depth-textures.js.map +1 -1
  20. package/dist/depth/occlusion/preprocessing-pass.js.map +1 -1
  21. package/dist/depth/occlusion/preprocessing-shader.glsl.js.map +1 -1
  22. package/dist/ecs/builtin-components.js.map +1 -1
  23. package/dist/ecs/component-editor-metadata.js.map +1 -1
  24. package/dist/ecs/component-manifest.js.map +1 -1
  25. package/dist/ecs/entity.js.map +1 -1
  26. package/dist/ecs/system.js.map +1 -1
  27. package/dist/ecs/world.js.map +1 -1
  28. package/dist/environment/dome-gradient.js.map +1 -1
  29. package/dist/environment/dome-texture.js.map +1 -1
  30. package/dist/environment/environment-system.js.map +1 -1
  31. package/dist/environment/gradient-environment.js.map +1 -1
  32. package/dist/environment/ibl-gradient.js.map +1 -1
  33. package/dist/environment/ibl-texture.js.map +1 -1
  34. package/dist/environment/scene-ar-environment.js.map +1 -1
  35. package/dist/environment-raycast/environment-raycast.js.map +1 -1
  36. package/dist/environment-raycast/raycast-target.js.map +1 -1
  37. package/dist/grab/distance-grabbable.js.map +1 -1
  38. package/dist/grab/grab-helpers.js.map +1 -1
  39. package/dist/grab/grab-system.js.map +1 -1
  40. package/dist/grab/grab-warnings.js.map +1 -1
  41. package/dist/grab/grabbed.js.map +1 -1
  42. package/dist/grab/handles.js.map +1 -1
  43. package/dist/grab/index.js.map +1 -1
  44. package/dist/grab/one-hand-grabbable.js.map +1 -1
  45. package/dist/grab/pointer-events-patch.js.map +1 -1
  46. package/dist/grab/two-hands-grabbable.js.map +1 -1
  47. package/dist/index.js +3 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/init/browser-camera.js.map +1 -1
  50. package/dist/init/player-camera.js.map +1 -1
  51. package/dist/init/session-grant.js.map +1 -1
  52. package/dist/init/world-initializer.js +2 -3
  53. package/dist/init/world-initializer.js.map +1 -1
  54. package/dist/init/xr.js.map +1 -1
  55. package/dist/input/canvas-pointer-system.js.map +1 -1
  56. package/dist/input/input-actions.js.map +1 -1
  57. package/dist/input/input-manager.js.map +1 -1
  58. package/dist/input/input-system.js.map +1 -1
  59. package/dist/input/state-tags.js.map +1 -1
  60. package/dist/input/stateful-browser-gamepad.js.map +1 -1
  61. package/dist/input/stateful-keyboard.js.map +1 -1
  62. package/dist/layers/xr-cylinder-layer.js.map +1 -1
  63. package/dist/layers/xr-layer-init.js.map +1 -1
  64. package/dist/layers/xr-layer-state.js.map +1 -1
  65. package/dist/layers/xr-layer-system.js.map +1 -1
  66. package/dist/layers/xr-layer-transform.js.map +1 -1
  67. package/dist/layers/xr-quad-layer.js.map +1 -1
  68. package/dist/level/level-component-applier.js.map +1 -1
  69. package/dist/level/level-player-rig.js.map +1 -1
  70. package/dist/level/level-root.js.map +1 -1
  71. package/dist/level/level-scene-environment.js.map +1 -1
  72. package/dist/level/level-scene-json-importer.js.map +1 -1
  73. package/dist/level/level-scene-material.js.map +1 -1
  74. package/dist/level/level-scene-object.js.map +1 -1
  75. package/dist/level/level-scene-primitive.js.map +1 -1
  76. package/dist/level/level-system.js.map +1 -1
  77. package/dist/level/level-tag.js.map +1 -1
  78. package/dist/lighting/light-binding.js.map +1 -1
  79. package/dist/lighting/light-components.js.map +1 -1
  80. package/dist/lighting/light-system.js.map +1 -1
  81. package/dist/locomotion/geometries/beveled-cylinder.js.map +1 -1
  82. package/dist/locomotion/locomotion-environment.js.map +1 -1
  83. package/dist/locomotion/locomotion-input-provider.js.map +1 -1
  84. package/dist/locomotion/locomotion.js.map +1 -1
  85. package/dist/locomotion/materials/line.js.map +1 -1
  86. package/dist/locomotion/slide.js.map +1 -1
  87. package/dist/locomotion/teleport.js.map +1 -1
  88. package/dist/locomotion/turn.js.map +1 -1
  89. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  90. package/dist/mcp/mcp-runtime.js.map +1 -1
  91. package/dist/mcp/scene-tools.js.map +1 -1
  92. package/dist/mcp/ui-debug-tools.js.map +1 -1
  93. package/dist/physics/physics-runtime.js.map +1 -1
  94. package/dist/physics/physics-system.js.map +1 -1
  95. package/dist/physics/physics-transport.js.map +1 -1
  96. package/dist/physics/physics-worker-protocol.js.map +1 -1
  97. package/dist/physics/physics-worker-utils.js.map +1 -1
  98. package/dist/physics/physics-worker.js.map +1 -1
  99. package/dist/physics/physicsBody.js.map +1 -1
  100. package/dist/physics/physicsManipulation.js.map +1 -1
  101. package/dist/physics/physicsShape.js.map +1 -1
  102. package/dist/physics/utils.js.map +1 -1
  103. package/dist/project/normalize.js.map +1 -1
  104. package/dist/project/paths.js.map +1 -1
  105. package/dist/project/types.js.map +1 -1
  106. package/dist/project/validation.js.map +1 -1
  107. package/dist/runtime/three.js.map +1 -1
  108. package/dist/scene-understanding/anchor.js.map +1 -1
  109. package/dist/scene-understanding/mesh.js.map +1 -1
  110. package/dist/scene-understanding/plane.js.map +1 -1
  111. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  112. package/dist/transform/synced-euler.js.map +1 -1
  113. package/dist/transform/synced-quaternion.js.map +1 -1
  114. package/dist/transform/synced-vector3.js.map +1 -1
  115. package/dist/transform/transform-component.js.map +1 -1
  116. package/dist/transform/transform-utils.js.map +1 -1
  117. package/dist/transform/transform.js.map +1 -1
  118. package/dist/ui/document.js.map +1 -1
  119. package/dist/ui/follow-component.js.map +1 -1
  120. package/dist/ui/follow.js.map +1 -1
  121. package/dist/ui/panel-components.js.map +1 -1
  122. package/dist/ui/screenspace-component.js.map +1 -1
  123. package/dist/ui/screenspace.js.map +1 -1
  124. package/dist/ui/ui.js.map +1 -1
  125. package/dist/ui/uikitml-asset.js.map +1 -1
  126. package/dist/ui/uikitml.js.map +1 -1
  127. package/dist/version.d.ts +1 -1
  128. package/dist/version.js +1 -1
  129. package/dist/version.js.map +1 -1
  130. package/dist/visibility/visibility-component.js.map +1 -1
  131. package/dist/visibility/visibility.js.map +1 -1
  132. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"scene-tools.js","sources":["../../src/mcp/scene-tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-tools.js","sources":["../../src/mcp/scene-tools.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { sha256Bytes } from '@iwsdk/scene-composition';\nimport type {\n JsonObject,\n SceneEnvironment,\n SceneNodeFramingRole,\n SceneNodeContent,\n SceneResources,\n SceneMaterialTextures,\n Sha256,\n} from '@iwsdk/scene-composition';\nimport type { World } from '../ecs/world.js';\nimport {\n ACESFilmicToneMapping,\n BasicShadowMap,\n BackSide,\n Box3,\n CineonToneMapping,\n DoubleSide,\n FrontSide,\n LinearToneMapping,\n NoToneMapping,\n Object3D,\n PCFShadowMap,\n PCFSoftShadowMap,\n Quaternion,\n ReinhardToneMapping,\n Vector3,\n} from '../runtime/index.js';\n\n/**\n * Hierarchy node returned by get_scene_hierarchy\n */\nexport interface HierarchyNode {\n name: string;\n uuid: string;\n objectType?: string;\n sceneNodeId?: string;\n sourceNodeId?: string;\n runtimeHash?: Sha256;\n contentType?: SceneNodeContent['type'];\n content?: SceneNodeContent;\n framingRole?: SceneNodeFramingRole;\n metadata?: JsonObject;\n assetId?: string;\n resourceRefs?: HierarchyResourceRefs;\n instanceIds?: string[];\n truncatedInstances?: number;\n resources?: SceneResources;\n environment?: SceneEnvironment;\n documentMetadata?: JsonObject;\n entityIndex?: number;\n children?: HierarchyNode[];\n /** Present when children were truncated due to breadth limit. */\n truncatedChildren?: number;\n}\n\nexport interface HierarchyResourceRefs {\n assetId?: string;\n prefabId?: string;\n}\n\n/**\n * Transform data returned by get_object_transform\n */\nexport interface ObjectTransform {\n localPosition: [number, number, number];\n localQuaternion: [number, number, number, number];\n localScale: [number, number, number];\n globalPosition: [number, number, number];\n globalQuaternion: [number, number, number, number];\n globalScale: [number, number, number];\n positionRelativeToXROrigin: [number, number, number] | null;\n}\n\nexport interface RuntimeRenderStats {\n available: true;\n calls: number;\n triangles: number;\n points: number;\n lines: number;\n geometries: number;\n textures: number;\n programs: number;\n meshCount: number;\n materialCount: number;\n shadowCasters: number;\n worldBounds: {\n min: [number, number, number];\n max: [number, number, number];\n size: [number, number, number];\n } | null;\n /** Bounds of framing-role content geometry; support geometry is excluded. */\n framingBounds: {\n min: [number, number, number];\n max: [number, number, number];\n size: [number, number, number];\n } | null;\n environment: {\n canvas: { width: number; height: number };\n pixelRatio: number;\n renderer: string;\n shadows: boolean;\n toneMapping: number;\n };\n sceneAssets: RuntimeSceneAssetState[];\n sceneEnvironment: RuntimeSceneEnvironmentState;\n sceneLights: RuntimeSceneLightState[];\n sceneMaterials: RuntimeSceneMaterialState[];\n}\n\nexport interface RuntimeSceneAssetState {\n id: string;\n meshCount: number;\n}\n\nexport interface RuntimeSceneEnvironmentState {\n background:\n | { color: string; type: 'color' }\n | {\n bottomColor: string;\n exponent: number;\n topColor: string;\n type: 'gradient';\n }\n | { type: 'transparent' }\n | null;\n clearAlpha: number;\n exposure: number;\n fog:\n | { color: string; far: number; near: number; type: 'linear' }\n | { color: string; density: number; type: 'exponential' }\n | null;\n shadows: boolean;\n shadowMapType: NonNullable<SceneEnvironment['shadowMapType']> | 'unknown';\n imageBasedLighting: {\n intensity: number;\n sigma: number;\n texture: boolean;\n type: 'room';\n } | null;\n toneMapping: NonNullable<SceneEnvironment['toneMapping']> | 'unknown';\n}\n\nexport interface RuntimeSceneLightState {\n angleDeg?: number;\n castShadow: boolean;\n color?: string;\n decay?: number;\n distance?: number;\n groundColor?: string;\n intensity: number;\n nodeId: string;\n penumbra?: number;\n skyColor?: string;\n sourceNodeId?: string;\n type: string;\n width?: number;\n height?: number;\n shadow?: Record<string, unknown>;\n}\n\nexport interface RuntimeSceneProceduralTextureState {\n algorithm: string;\n channel: string;\n dataHash: string;\n height: number;\n recipeHash: string;\n width: number;\n}\n\nexport interface RuntimeSceneMaterialState {\n baseColor: string;\n emissive?: string;\n emissiveIntensity?: number;\n flatShading?: boolean;\n id: string;\n metalness?: number;\n model: 'basic' | 'standard' | 'physical' | 'unknown';\n opacity: number;\n roughness?: number;\n side: 'front' | 'back' | 'double' | 'unknown';\n textures?: Partial<\n Record<keyof SceneMaterialTextures, RuntimeSceneProceduralTextureState>\n >;\n clearcoat?: number;\n clearcoatRoughness?: number;\n ior?: number;\n envMapIntensity?: number;\n sheen?: number;\n sheenColor?: string;\n sheenRoughness?: number;\n transmission?: number;\n thickness?: number;\n attenuationColor?: string;\n attenuationDistance?: number | 'infinity';\n specularIntensity?: number;\n specularColor?: string;\n anisotropy?: number;\n anisotropyRotationDeg?: number;\n}\n\ninterface GetSceneHierarchyParams {\n parentId?: string;\n maxDepth?: number;\n maxChildren?: number;\n}\n\ninterface GetObjectTransformParams {\n nodeId?: string;\n uuid?: string;\n}\n\n/** Default maximum number of children per node before truncation. */\nconst DEFAULT_MAX_CHILDREN = 50;\n\n/** Read raw renderer counters and scene resource counts without applying a profile. */\nexport function getRenderStats(world: World): RuntimeRenderStats {\n const geometries = new Set<unknown>();\n const materials = new Set<unknown>();\n const sceneAssets: RuntimeSceneAssetState[] = [];\n const sceneLights: RuntimeSceneLightState[] = [];\n const sceneMaterials: RuntimeSceneMaterialState[] = [];\n let meshCount = 0;\n let shadowCasters = 0;\n world.scene.traverse((object) => {\n const assetId = object.userData?.iwsdkSceneAssetId;\n if (typeof assetId === 'string') {\n let assetMeshCount = 0;\n object.traverse((descendant) => {\n if ((descendant as Object3D & { isMesh?: boolean }).isMesh === true) {\n assetMeshCount += 1;\n }\n });\n sceneAssets.push({\n id: assetId,\n meshCount: assetMeshCount,\n });\n }\n const lightState = inspectSceneLight(object);\n if (lightState != null) {\n sceneLights.push(lightState);\n }\n const renderable = object as Object3D & {\n castShadow?: boolean;\n geometry?: unknown;\n isMesh?: boolean;\n material?: unknown | unknown[];\n };\n if (renderable.isMesh !== true) {\n return;\n }\n meshCount += 1;\n if (renderable.castShadow === true) {\n shadowCasters += 1;\n }\n if (renderable.geometry != null) {\n geometries.add(renderable.geometry);\n }\n const objectMaterials = Array.isArray(renderable.material)\n ? renderable.material\n : [renderable.material];\n objectMaterials.forEach((material) => {\n if (material != null) {\n const firstUse = !materials.has(material);\n materials.add(material);\n if (firstUse) {\n const materialState = inspectSceneMaterial(material);\n if (materialState != null) {\n sceneMaterials.push(materialState);\n }\n }\n }\n });\n });\n\n world.scene.updateMatrixWorld(true);\n const activeRoot = world.getActiveRoot();\n const worldBounds = serializeRuntimeBounds(\n new Box3().setFromObject(activeRoot),\n );\n const framingBounds = serializeRuntimeBounds(\n measureFramingBounds(activeRoot),\n );\n const info = world.renderer.info;\n return {\n available: true,\n calls: info.render.calls,\n triangles: info.render.triangles,\n points: info.render.points,\n lines: info.render.lines,\n geometries: info.memory.geometries,\n textures: info.memory.textures,\n programs: info.programs?.length ?? 0,\n meshCount,\n materialCount: materials.size,\n shadowCasters,\n framingBounds,\n worldBounds,\n environment: {\n canvas: {\n width: world.renderer.domElement.width,\n height: world.renderer.domElement.height,\n },\n pixelRatio: world.renderer.getPixelRatio(),\n renderer: world.renderer.constructor.name,\n shadows: world.renderer.shadowMap.enabled,\n toneMapping: world.renderer.toneMapping,\n },\n sceneAssets: sceneAssets.sort(compareRuntimeState),\n sceneEnvironment: inspectSceneEnvironment(world),\n sceneLights: sceneLights.sort(compareRuntimeState),\n sceneMaterials: sceneMaterials.sort(compareRuntimeState),\n };\n}\n\ninterface RuntimeBoundsGeometry {\n boundingBox: Box3 | null;\n computeBoundingBox?: () => void;\n}\n\ninterface RuntimeBoundsObject extends Object3D {\n boundingBox?: Box3 | null;\n computeBoundingBox?: () => void;\n geometry?: RuntimeBoundsGeometry;\n isInstancedMesh?: boolean;\n isSkinnedMesh?: boolean;\n}\n\nfunction measureFramingBounds(root: Object3D): Box3 {\n const bounds = new Box3().makeEmpty();\n root.traverseVisible((object) => {\n if (object.userData?.iwsdkSceneFramingRole === 'support') {\n return;\n }\n expandByOwnGeometry(bounds, object as RuntimeBoundsObject);\n });\n return bounds;\n}\n\nfunction expandByOwnGeometry(bounds: Box3, object: RuntimeBoundsObject): void {\n const geometry = object.geometry;\n if (geometry == null) {\n return;\n }\n let localBounds: Box3 | null | undefined;\n if (object.isInstancedMesh === true || object.isSkinnedMesh === true) {\n object.computeBoundingBox?.();\n localBounds = object.boundingBox;\n } else {\n geometry.computeBoundingBox?.();\n localBounds = geometry.boundingBox;\n }\n if (localBounds == null || localBounds.isEmpty()) {\n return;\n }\n bounds.union(localBounds.clone().applyMatrix4(object.matrixWorld));\n}\n\nfunction serializeRuntimeBounds(\n bounds: Box3,\n): RuntimeRenderStats['worldBounds'] {\n if (bounds.isEmpty()) {\n return null;\n }\n return {\n min: bounds.min.toArray() as [number, number, number],\n max: bounds.max.toArray() as [number, number, number],\n size: bounds.getSize(new Vector3()).toArray() as [number, number, number],\n };\n}\n\ninterface RuntimeColorLike {\n getHexString?: () => string;\n}\n\ninterface RuntimeMaterialLike {\n alphaMap?: RuntimeTextureLike;\n anisotropy?: number;\n anisotropyRotation?: number;\n aoMap?: RuntimeTextureLike;\n attenuationColor?: RuntimeColorLike;\n attenuationDistance?: number;\n bumpMap?: RuntimeTextureLike;\n clearcoat?: number;\n clearcoatRoughness?: number;\n color?: RuntimeColorLike;\n emissive?: RuntimeColorLike;\n emissiveMap?: RuntimeTextureLike;\n emissiveIntensity?: number;\n envMapIntensity?: number;\n flatShading?: boolean;\n isMeshBasicMaterial?: boolean;\n isMeshPhysicalMaterial?: boolean;\n isMeshStandardMaterial?: boolean;\n ior?: number;\n map?: RuntimeTextureLike;\n metalness?: number;\n metalnessMap?: RuntimeTextureLike;\n normalMap?: RuntimeTextureLike;\n opacity?: number;\n roughness?: number;\n roughnessMap?: RuntimeTextureLike;\n sheen?: number;\n sheenColor?: RuntimeColorLike;\n sheenRoughness?: number;\n side?: number;\n specularColor?: RuntimeColorLike;\n specularIntensity?: number;\n thickness?: number;\n transmission?: number;\n userData?: Record<string, unknown>;\n}\n\ninterface RuntimeTextureLike {\n image?: { data?: Uint8Array; height?: number; width?: number };\n userData?: Record<string, unknown>;\n}\n\nfunction inspectSceneMaterial(\n value: unknown,\n): RuntimeSceneMaterialState | null {\n const material = value as RuntimeMaterialLike;\n const id = material.userData?.iwsdkSceneMaterialId;\n if (typeof id !== 'string') {\n return null;\n }\n const model = material.isMeshPhysicalMaterial\n ? 'physical'\n : material.isMeshStandardMaterial\n ? 'standard'\n : material.isMeshBasicMaterial\n ? 'basic'\n : 'unknown';\n const textures = inspectMaterialTextures(material);\n return {\n baseColor: colorToHex(material.color) ?? '#000000',\n ...(model === 'standard' || model === 'physical'\n ? {\n emissive: colorToHex(material.emissive) ?? '#000000',\n emissiveIntensity: finiteNumber(material.emissiveIntensity, 1),\n flatShading: material.flatShading === true,\n metalness: finiteNumber(material.metalness, 0),\n roughness: finiteNumber(material.roughness, 0),\n }\n : {}),\n ...(model === 'physical'\n ? {\n anisotropy: finiteNumber(material.anisotropy, 0),\n anisotropyRotationDeg:\n (finiteNumber(material.anisotropyRotation, 0) * 180) / Math.PI,\n attenuationColor: colorToHex(material.attenuationColor) ?? '#ffffff',\n attenuationDistance:\n material.attenuationDistance === Infinity\n ? ('infinity' as const)\n : finiteNumber(material.attenuationDistance, 0),\n clearcoat: finiteNumber(material.clearcoat, 0),\n clearcoatRoughness: finiteNumber(material.clearcoatRoughness, 0),\n envMapIntensity: finiteNumber(material.envMapIntensity, 1),\n ior: finiteNumber(material.ior, 1.5),\n sheen: finiteNumber(material.sheen, 0),\n sheenColor: colorToHex(material.sheenColor) ?? '#000000',\n sheenRoughness: finiteNumber(material.sheenRoughness, 1),\n specularColor: colorToHex(material.specularColor) ?? '#ffffff',\n specularIntensity: finiteNumber(material.specularIntensity, 1),\n thickness: finiteNumber(material.thickness, 0),\n transmission: finiteNumber(material.transmission, 0),\n }\n : {}),\n id,\n model,\n opacity: finiteNumber(material.opacity, 1),\n side: materialSideName(material.side),\n ...(Object.keys(textures).length === 0 ? {} : { textures }),\n };\n}\n\nfunction inspectMaterialTextures(\n material: RuntimeMaterialLike,\n): Partial<\n Record<keyof SceneMaterialTextures, RuntimeSceneProceduralTextureState>\n> {\n const result: Partial<\n Record<keyof SceneMaterialTextures, RuntimeSceneProceduralTextureState>\n > = {};\n const mappings: [\n keyof SceneMaterialTextures,\n RuntimeTextureLike | undefined,\n ][] = [\n ['albedo', material.map],\n ['emissive', material.emissiveMap],\n ['roughness', material.roughnessMap],\n ['metalness', material.metalnessMap],\n ['ambientOcclusion', material.aoMap],\n ['alpha', material.alphaMap],\n ['normal', material.normalMap],\n ['bump', material.bumpMap],\n ];\n for (const [channel, texture] of mappings) {\n const metadata = texture?.userData?.iwsdkSceneProceduralTexture;\n const data = texture?.image?.data;\n if (\n metadata == null ||\n typeof metadata !== 'object' ||\n data == null ||\n !(data instanceof Uint8Array)\n ) {\n continue;\n }\n const values = metadata as Record<string, unknown>;\n result[channel] = {\n algorithm: String(values.algorithm ?? ''),\n channel,\n dataHash: sha256Bytes(data),\n height: finiteNumber(texture?.image?.height, 0),\n recipeHash: String(values.recipeHash ?? ''),\n width: finiteNumber(texture?.image?.width, 0),\n };\n }\n return result;\n}\n\nfunction inspectSceneLight(object: Object3D): RuntimeSceneLightState | null {\n const light = object as Object3D & {\n angle?: number;\n castShadow?: boolean;\n color?: RuntimeColorLike;\n decay?: number;\n distance?: number;\n groundColor?: RuntimeColorLike;\n intensity?: number;\n isLight?: boolean;\n penumbra?: number;\n target?: { position?: { toArray?: () => number[] } };\n width?: number;\n height?: number;\n shadow?: {\n bias?: number;\n blurSamples?: number;\n camera?: Record<string, unknown>;\n mapSize?: { toArray?: () => number[] };\n normalBias?: number;\n radius?: number;\n };\n };\n const nodeId = light.userData?.iwsdkSceneNodeId;\n if (light.isLight !== true || typeof nodeId !== 'string') {\n return null;\n }\n const type = lightTypeName(light.type);\n const sourceNodeId = light.userData?.iwsdkSceneSourceNodeId;\n const color = colorToHex(light.color);\n const groundColor = colorToHex(light.groundColor);\n return {\n ...(type === 'spot' && typeof light.angle === 'number'\n ? { angleDeg: (light.angle * 180) / Math.PI }\n : {}),\n castShadow: light.castShadow === true,\n ...(color != null\n ? type === 'hemisphere'\n ? { skyColor: color }\n : { color }\n : {}),\n ...((type === 'point' || type === 'spot') && typeof light.decay === 'number'\n ? { decay: light.decay }\n : {}),\n ...((type === 'point' || type === 'spot') &&\n typeof light.distance === 'number'\n ? { distance: light.distance }\n : {}),\n ...(type === 'hemisphere' && groundColor != null ? { groundColor } : {}),\n ...(type === 'rect-area' && typeof light.width === 'number'\n ? { width: light.width }\n : {}),\n ...(type === 'rect-area' && typeof light.height === 'number'\n ? { height: light.height }\n : {}),\n intensity: finiteNumber(light.intensity, 1),\n nodeId,\n ...(type === 'spot' && typeof light.penumbra === 'number'\n ? { penumbra: light.penumbra }\n : {}),\n ...(typeof sourceNodeId === 'string' ? { sourceNodeId } : {}),\n ...(light.castShadow === true && light.shadow != null\n ? { shadow: inspectSceneShadow(light.shadow, type) }\n : {}),\n type,\n };\n}\n\nfunction inspectSceneShadow(\n shadow: NonNullable<\n (Object3D & { shadow?: Record<string, unknown> })['shadow']\n >,\n lightType: string,\n): Record<string, unknown> {\n const value = shadow as {\n bias?: number;\n blurSamples?: number;\n camera?: {\n bottom?: number;\n far?: number;\n left?: number;\n near?: number;\n right?: number;\n top?: number;\n };\n mapSize?: { toArray?: () => number[] };\n normalBias?: number;\n radius?: number;\n };\n const mapSize = value.mapSize?.toArray?.();\n return {\n bias: finiteNumber(value.bias, 0),\n ...(value.camera != null\n ? {\n camera: {\n far: finiteNumber(value.camera.far, 0),\n near: finiteNumber(value.camera.near, 0),\n ...(lightType === 'directional'\n ? {\n bottom: finiteNumber(value.camera.bottom, 0),\n left: finiteNumber(value.camera.left, 0),\n right: finiteNumber(value.camera.right, 0),\n top: finiteNumber(value.camera.top, 0),\n }\n : {}),\n },\n }\n : {}),\n mapSize:\n Array.isArray(mapSize) && mapSize.length >= 2\n ? mapSize.slice(0, 2)\n : [512, 512],\n normalBias: finiteNumber(value.normalBias, 0),\n radius: finiteNumber(value.radius, 1),\n };\n}\n\nfunction inspectSceneEnvironment(world: World): RuntimeSceneEnvironmentState {\n const background = world.scene.background as\n | (RuntimeColorLike & {\n isColor?: boolean;\n isTexture?: boolean;\n userData?: Record<string, unknown>;\n })\n | null;\n const environmentTexture = world.scene.environment as {\n isTexture?: boolean;\n userData?: Record<string, unknown>;\n } | null;\n const gradient = background?.userData?.iwsdkSceneGradientBackground as\n | {\n bottomColor?: unknown;\n exponent?: unknown;\n topColor?: unknown;\n type?: unknown;\n }\n | undefined;\n const imageBasedLighting = environmentTexture?.userData\n ?.iwsdkSceneImageBasedLighting as\n | { intensity?: unknown; sigma?: unknown; type?: unknown }\n | undefined;\n const fog = world.scene.fog as {\n color?: RuntimeColorLike;\n density?: number;\n far?: number;\n isFog?: boolean;\n isFogExp2?: boolean;\n near?: number;\n } | null;\n return {\n background:\n background?.isColor === true\n ? { color: colorToHex(background) ?? '#000000', type: 'color' }\n : background?.isTexture === true && gradient?.type === 'gradient'\n ? {\n bottomColor: normalizeHexColor(gradient.bottomColor),\n exponent: finiteNumber(gradient.exponent, 1),\n topColor: normalizeHexColor(gradient.topColor),\n type: 'gradient',\n }\n : background == null && world.renderer.getClearAlpha() === 0\n ? { type: 'transparent' }\n : null,\n clearAlpha: world.renderer.getClearAlpha(),\n exposure: world.renderer.toneMappingExposure,\n imageBasedLighting:\n imageBasedLighting?.type === 'room'\n ? {\n intensity: world.scene.environmentIntensity,\n sigma: finiteNumber(imageBasedLighting.sigma, 0.04),\n texture: environmentTexture?.isTexture === true,\n type: 'room',\n }\n : null,\n fog:\n fog?.isFog === true\n ? {\n color: colorToHex(fog.color) ?? '#000000',\n far: finiteNumber(fog.far, 0),\n near: finiteNumber(fog.near, 0),\n type: 'linear',\n }\n : fog?.isFogExp2 === true\n ? {\n color: colorToHex(fog.color) ?? '#000000',\n density: finiteNumber(fog.density, 0),\n type: 'exponential',\n }\n : null,\n shadows: world.renderer.shadowMap.enabled,\n shadowMapType: shadowMapTypeName(world.renderer.shadowMap.type),\n toneMapping: toneMappingName(world.renderer.toneMapping),\n };\n}\n\nfunction shadowMapTypeName(\n value: number,\n): RuntimeSceneEnvironmentState['shadowMapType'] {\n switch (value) {\n case BasicShadowMap:\n return 'basic';\n case PCFShadowMap:\n return 'pcf';\n case PCFSoftShadowMap:\n return 'pcf-soft';\n default:\n return 'unknown';\n }\n}\n\nfunction colorToHex(value: RuntimeColorLike | undefined): string | null {\n const hex = value?.getHexString?.();\n return typeof hex === 'string' && /^[0-9a-f]{6}$/i.test(hex)\n ? `#${hex.toLowerCase()}`\n : null;\n}\n\nfunction normalizeHexColor(value: unknown): string {\n const color = String(value);\n return /^#[0-9a-f]{6}$/i.test(color) ? color.toLowerCase() : color;\n}\n\nfunction finiteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction lightTypeName(type: string): string {\n if (type === 'RectAreaLight') {\n return 'rect-area';\n }\n return type.endsWith('Light')\n ? type.slice(0, -'Light'.length).toLowerCase()\n : type.toLowerCase();\n}\n\nfunction materialSideName(\n side: number | undefined,\n): RuntimeSceneMaterialState['side'] {\n switch (side) {\n case FrontSide:\n return 'front';\n case BackSide:\n return 'back';\n case DoubleSide:\n return 'double';\n default:\n return 'unknown';\n }\n}\n\nfunction toneMappingName(\n value: number,\n): RuntimeSceneEnvironmentState['toneMapping'] {\n switch (value) {\n case NoToneMapping:\n return 'none';\n case LinearToneMapping:\n return 'linear';\n case ReinhardToneMapping:\n return 'reinhard';\n case CineonToneMapping:\n return 'cineon';\n case ACESFilmicToneMapping:\n return 'aces';\n default:\n return 'unknown';\n }\n}\n\nfunction compareRuntimeState(\n left:\n | RuntimeSceneAssetState\n | RuntimeSceneLightState\n | RuntimeSceneMaterialState,\n right:\n | RuntimeSceneAssetState\n | RuntimeSceneLightState\n | RuntimeSceneMaterialState,\n): number {\n return JSON.stringify(left).localeCompare(JSON.stringify(right));\n}\n\n/**\n * Get the Three.js scene hierarchy as a JSON tree.\n * Returns object identity, native scene render metadata, and entity indices.\n */\nexport function getSceneHierarchy(\n world: World,\n params: Record<string, unknown>,\n): HierarchyNode {\n const {\n parentId,\n maxDepth = 5,\n maxChildren = DEFAULT_MAX_CHILDREN,\n } = params as unknown as GetSceneHierarchyParams;\n\n let root: Object3D | undefined;\n\n if (parentId) {\n root = world.scene.getObjectByProperty('uuid', parentId);\n if (!root) {\n throw new Error(\n `Object not found with UUID '${parentId}'. Use get_scene_hierarchy without parentId to see all available objects.`,\n );\n }\n } else {\n root = world.scene;\n }\n\n return buildHierarchy(root, 0, maxDepth, maxChildren);\n}\n\nfunction buildHierarchy(\n obj: Object3D,\n depth: number,\n maxDepth: number,\n maxChildren: number,\n): HierarchyNode {\n const node: HierarchyNode = {\n name: obj.name || '(unnamed)',\n uuid: obj.uuid,\n };\n if (typeof obj.type === 'string' && obj.type.length > 0) {\n node.objectType = obj.type;\n }\n if (typeof obj.userData?.iwsdkSceneNodeId === 'string') {\n node.sceneNodeId = obj.userData.iwsdkSceneNodeId;\n }\n if (typeof obj.userData?.iwsdkSceneSourceNodeId === 'string') {\n node.sourceNodeId = obj.userData.iwsdkSceneSourceNodeId;\n }\n const runtimeHash = cloneRuntimeHash(obj.userData?.iwsdkSceneRuntimeHash);\n if (runtimeHash != null) {\n node.runtimeHash = runtimeHash;\n }\n const content = cloneSceneContent(obj.userData?.iwsdkSceneContent);\n if (content != null) {\n node.contentType = content.type;\n node.content = content;\n }\n const framingRole = obj.userData?.iwsdkSceneFramingRole;\n if (framingRole === 'content' || framingRole === 'support') {\n node.framingRole = framingRole;\n }\n const metadata = cloneJsonObject(obj.userData?.iwsdkSceneMetadata);\n if (metadata != null) {\n node.metadata = metadata;\n }\n const resourceRefs = getResourceRefs(content);\n const userDataAssetId = obj.userData?.iwsdkSceneAssetId;\n if (typeof userDataAssetId === 'string') {\n resourceRefs.assetId = userDataAssetId;\n }\n if (Object.keys(resourceRefs).length > 0) {\n node.resourceRefs = resourceRefs;\n node.assetId = resourceRefs.assetId;\n }\n const instanceIds = cloneStringArray(obj.userData?.iwsdkSceneInstanceIds);\n if (instanceIds != null) {\n const limit = Math.max(1, maxChildren);\n node.instanceIds = instanceIds.slice(0, limit);\n if (instanceIds.length > limit) {\n node.truncatedInstances = instanceIds.length - limit;\n }\n }\n const resources = cloneJsonObjectAs<SceneResources>(\n obj.userData?.iwsdkSceneResources,\n );\n if (resources != null) {\n node.resources = resources;\n }\n const environment = cloneJsonObjectAs<SceneEnvironment>(\n obj.userData?.iwsdkSceneEnvironment,\n );\n if (environment != null) {\n node.environment = environment;\n }\n const documentMetadata = cloneJsonObject(\n obj.userData?.iwsdkSceneDocumentMetadata,\n );\n if (documentMetadata != null) {\n node.documentMetadata = documentMetadata;\n }\n\n // Check if Object3D has associated entity (entityIdx is set by Transform component)\n if ('entityIdx' in obj && typeof (obj as any).entityIdx === 'number') {\n node.entityIndex = (obj as any).entityIdx;\n }\n\n if (depth < maxDepth && obj.children.length > 0) {\n const total = obj.children.length;\n const limit = Math.max(1, maxChildren);\n const childrenToInclude = obj.children.slice(0, limit);\n node.children = childrenToInclude.map((child) =>\n buildHierarchy(child, depth + 1, maxDepth, maxChildren),\n );\n if (total > limit) {\n node.truncatedChildren = total - limit;\n }\n }\n\n return node;\n}\n\nfunction cloneSceneContent(value: unknown): SceneNodeContent | undefined {\n if (!isRecord(value) || !isSceneContentType(value.type)) {\n return undefined;\n }\n return cloneJson(value) as unknown as SceneNodeContent;\n}\n\nfunction isSceneContentType(value: unknown): value is SceneNodeContent['type'] {\n return (\n value === 'group' ||\n value === 'asset' ||\n value === 'instance' ||\n value === 'pattern'\n );\n}\n\nfunction getResourceRefs(\n content: SceneNodeContent | undefined,\n): HierarchyResourceRefs {\n switch (content?.type) {\n case 'asset':\n return { assetId: content.asset };\n case 'instance':\n case 'pattern':\n return { prefabId: content.prefab };\n default:\n return {};\n }\n}\n\nfunction cloneRuntimeHash(value: unknown): Sha256 | undefined {\n return typeof value === 'string' && /^sha256:[0-9a-f]{64}$/u.test(value)\n ? (value as Sha256)\n : undefined;\n}\n\nfunction cloneStringArray(value: unknown): string[] | undefined {\n return Array.isArray(value) &&\n value.every((entry) => typeof entry === 'string')\n ? [...value]\n : undefined;\n}\n\nfunction cloneJsonObject(value: unknown): JsonObject | undefined {\n return cloneJsonObjectAs<JsonObject>(value);\n}\n\nfunction cloneJsonObjectAs<T>(value: unknown): T | undefined {\n return isRecord(value) ? (cloneJson(value) as T) : undefined;\n}\n\nfunction cloneJson<T>(value: T): T {\n return JSON.parse(JSON.stringify(value)) as T;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Get local and global transforms of an Object3D.\n * Includes positionRelativeToXROrigin which can be used directly with IWER look_at tool.\n */\nexport function getObjectTransform(\n world: World,\n params: Record<string, unknown>,\n): ObjectTransform {\n const { nodeId, uuid } = params as unknown as GetObjectTransformParams;\n\n if (!uuid && !nodeId) {\n throw new Error(\n 'uuid or nodeId parameter is required. Use get_scene_hierarchy for Object3D UUIDs or scene_get_hierarchy for native scene node ids.',\n );\n }\n\n const obj =\n uuid != null\n ? world.scene.getObjectByProperty('uuid', uuid)\n : findObjectBySceneNodeId(world.scene, nodeId!);\n if (!obj) {\n throw new Error(\n uuid != null\n ? `Object not found with UUID '${uuid}'. Use get_scene_hierarchy to discover available objects.`\n : `Object not found with scene node id '${nodeId}'. Use scene_get_hierarchy to discover native scene node ids.`,\n );\n }\n\n // Ensure world matrix is up to date\n obj.updateWorldMatrix(true, false);\n\n // Local transform (direct properties)\n const localPosition = obj.position.toArray() as [number, number, number];\n const localQuaternion = obj.quaternion.toArray() as [\n number,\n number,\n number,\n number,\n ];\n const localScale = obj.scale.toArray() as [number, number, number];\n\n // Global transform (decompose from world matrix)\n const globalPosition = new Vector3();\n const globalQuaternion = new Quaternion();\n const globalScale = new Vector3();\n obj.matrixWorld.decompose(globalPosition, globalQuaternion, globalScale);\n\n // Position relative to XR origin\n let positionRelativeToXROrigin: [number, number, number] | null = null;\n\n if (world.player) {\n // Clone the global position and convert to XR origin local space\n const relativePos = globalPosition.clone();\n world.player.updateWorldMatrix(true, false);\n world.player.worldToLocal(relativePos);\n positionRelativeToXROrigin = relativePos.toArray() as [\n number,\n number,\n number,\n ];\n }\n\n return {\n localPosition,\n localQuaternion,\n localScale,\n globalPosition: globalPosition.toArray() as [number, number, number],\n globalQuaternion: globalQuaternion.toArray() as [\n number,\n number,\n number,\n number,\n ],\n globalScale: globalScale.toArray() as [number, number, number],\n positionRelativeToXROrigin,\n };\n}\n\nfunction findObjectBySceneNodeId(\n object: Object3D,\n nodeId: string,\n): Object3D | undefined {\n if (object.userData?.iwsdkSceneNodeId === nodeId) {\n return object;\n }\n\n for (const child of object.children) {\n const found = findObjectBySceneNodeId(child, nodeId);\n if (found != null) {\n return found;\n }\n }\n\n return undefined;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-debug-tools.js","sources":["../../src/mcp/ui-debug-tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-debug-tools.js","sources":["../../src/mcp/ui-debug-tools.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component } from '@pmndrs/uikit';\nimport type { Entity } from '../ecs/entity.js';\nimport type { World } from '../ecs/world.js';\nimport type { Object3D } from '../runtime/index.js';\nimport { UIKitDocument } from '../ui/document.js';\nimport { PanelDocument } from '../ui/panel-components.js';\nimport { UIKitMLAsset } from '../ui/uikitml-asset.js';\n\nconst DEFAULT_LIMIT = 50;\nconst MAX_LIMIT = 50;\nconst MAX_PROPERTY_COUNT = 20;\nconst MAX_PROPERTY_NAME_LENGTH = 64;\nconst MAX_SELECTOR_LENGTH = 512;\nconst MAX_SELECTOR_PARTS = 16;\nconst MAX_TRAVERSED_OBJECTS = 10_000;\nconst MAX_STRING_LENGTH = 200;\nconst MAX_SERIALIZED_DEPTH = 3;\nconst MAX_COLLECTION_ITEMS = 20;\nconst PROPERTY_NAME_PATTERN = /^[A-Za-z][A-Za-z0-9]*$/u;\n\nconst DEFAULT_PROPERTIES = [\n 'text',\n 'value',\n 'disabled',\n 'checked',\n 'selected',\n 'display',\n 'visibility',\n 'pointerEvents',\n] as const;\n\nexport interface UiInspectParams {\n entityIndex: number;\n selector?: string;\n properties?: string[];\n limit?: number;\n}\n\nexport interface UiElementInspection {\n id?: string;\n classes: string[];\n componentType: string;\n uuid: string;\n text?: string;\n state: {\n active: boolean;\n clipped: boolean;\n disabled: boolean;\n displayed: boolean;\n hovered: boolean;\n visible: boolean;\n };\n layout: {\n relativeCenter: [number, number] | null;\n size: [number, number] | null;\n };\n properties: Record<string, unknown>;\n missingProperties?: string[];\n}\n\nexport interface UiInspectResult {\n panel: {\n entityIndex: number;\n name?: string;\n assetId?: string;\n computedSize: { width: number; height: number } | null;\n targetSize: { width: number; height: number };\n };\n selector?: string;\n elements: UiElementInspection[];\n total: number;\n limited: boolean;\n}\n\ninterface SelectorPart {\n kind: 'class' | 'id';\n value: string;\n}\n\n/** Inspect stable, live UIKitML elements owned by one ECS panel entity. */\nexport function uiInspect(\n world: World,\n params: Record<string, unknown>,\n): UiInspectResult {\n const { entityIndex, selector, properties, limit } =\n params as unknown as Partial<UiInspectParams>;\n\n if (!Number.isInteger(entityIndex) || (entityIndex as number) < 0) {\n throw new Error(\n 'entityIndex must be a non-negative integer. Use ecs_find_entities to discover the panel entity.',\n );\n }\n\n const normalizedSelector = normalizeSelector(selector);\n const requestedProperties = normalizeProperties(properties);\n const normalizedLimit = normalizeLimit(limit);\n\n const entity = world.entityManager.getEntityByIndex(entityIndex as number);\n if (!entity || !entity.active) {\n throw new Error(\n `Entity ${entityIndex} not found or has been destroyed. Use ecs_find_entities to find active panel entities.`,\n );\n }\n\n const document = findEntityUIKitDocument(entity);\n if (!document) {\n throw new Error(\n `Entity ${entityIndex} does not own a live UIKitML document. Choose an entity whose Object3D contains a UIKitMLAsset or PanelUI document.`,\n );\n }\n\n const candidates = findLiveCandidates(document, normalizedSelector?.parts);\n const elements = candidates\n .slice(0, normalizedLimit)\n .map((component) =>\n inspectElement(component, requestedProperties, properties !== undefined),\n );\n const asset = findUIKitMLAsset(entity.object3D, entity.index);\n\n return {\n panel: {\n entityIndex: entity.index,\n name: entity.object3D?.name || undefined,\n assetId: asset?.assetId,\n computedSize: document.computedSize,\n targetSize: document.targetSize,\n },\n selector: normalizedSelector?.value,\n elements,\n total: candidates.length,\n limited: candidates.length > normalizedLimit,\n };\n}\n\nfunction normalizeSelector(\n value: unknown,\n): { value: string; parts: SelectorPart[] } | undefined {\n if (value == null) {\n return undefined;\n }\n if (typeof value !== 'string') {\n throw new Error('selector must be a string');\n }\n const selector = value.trim();\n if (selector.length === 0) {\n throw new Error('selector must not be empty');\n }\n if (selector.length > MAX_SELECTOR_LENGTH) {\n throw new Error(\n `selector allows at most ${MAX_SELECTOR_LENGTH} characters`,\n );\n }\n const parts = selector.split(/\\s+/u);\n if (parts.length > MAX_SELECTOR_PARTS) {\n throw new Error(\n `selector allows at most ${MAX_SELECTOR_PARTS} descendant parts`,\n );\n }\n if (parts.some((part) => !/^[#.][A-Za-z0-9_-]+$/u.test(part))) {\n throw new Error(\n 'selector supports only #id, .class, and descendant combinations of those selectors',\n );\n }\n return {\n value: selector,\n parts: parts.map((part) => ({\n kind: part[0] === '#' ? 'id' : 'class',\n value: part.slice(1),\n })),\n };\n}\n\n/**\n * Traverse the current UIKit tree once and match descendant selectors without\n * materializing overlapping subtree results. The object cap bounds both the\n * unfiltered inventory and selector work on an unexpectedly large document.\n */\nfunction findLiveCandidates(\n document: UIKitDocument,\n selectorParts?: SelectorPart[],\n): Component<any>[] {\n const candidates: Component<any>[] = [];\n const emptyPrefixes = selectorParts?.map(() => false) ?? [];\n const stack: Array<{\n object: Object3D;\n matchedPrefixes: readonly boolean[];\n }> = [{ object: document.rootElement, matchedPrefixes: emptyPrefixes }];\n let scheduledObjects = 1;\n\n while (stack.length > 0) {\n const { object, matchedPrefixes } = stack.pop()!;\n let childPrefixes = matchedPrefixes;\n\n if (object instanceof Component) {\n if (selectorParts == null) {\n if (getElementId(object) != null) {\n candidates.push(object);\n }\n } else {\n const id = getElementId(object);\n const classes = new Set(getClassNames(object));\n const nextPrefixes = [...matchedPrefixes];\n let matchesFullSelector = false;\n\n for (let index = 0; index < selectorParts.length; index += 1) {\n const part = selectorParts[index];\n const matchesPart =\n part.kind === 'id' ? id === part.value : classes.has(part.value);\n const completesPrefix =\n matchesPart && (index === 0 || matchedPrefixes[index - 1]);\n nextPrefixes[index] ||= completesPrefix;\n if (index === selectorParts.length - 1) {\n matchesFullSelector = completesPrefix;\n }\n }\n\n if (matchesFullSelector) {\n candidates.push(object);\n }\n childPrefixes = nextPrefixes;\n }\n }\n\n for (let index = object.children.length - 1; index >= 0; index -= 1) {\n scheduledObjects += 1;\n if (scheduledObjects > MAX_TRAVERSED_OBJECTS) {\n throw new Error(\n `UIKitML inspection allows at most ${MAX_TRAVERSED_OBJECTS} objects per document`,\n );\n }\n stack.push({\n object: object.children[index],\n matchedPrefixes: childPrefixes,\n });\n }\n }\n\n return candidates;\n}\n\nfunction normalizeProperties(value: unknown): string[] {\n if (value == null) {\n return [...DEFAULT_PROPERTIES];\n }\n if (!Array.isArray(value) || value.length === 0) {\n throw new Error('properties must be a non-empty string array');\n }\n if (value.length > MAX_PROPERTY_COUNT) {\n throw new Error(`properties allows at most ${MAX_PROPERTY_COUNT} items`);\n }\n const result: string[] = [];\n for (const property of value) {\n if (\n typeof property !== 'string' ||\n property.length > MAX_PROPERTY_NAME_LENGTH ||\n !PROPERTY_NAME_PATTERN.test(property)\n ) {\n throw new Error(\n `each property must be a camelCase name of at most ${MAX_PROPERTY_NAME_LENGTH} characters`,\n );\n }\n if (!result.includes(property)) {\n result.push(property);\n }\n }\n return result;\n}\n\nfunction normalizeLimit(value: unknown): number {\n if (value == null) {\n return DEFAULT_LIMIT;\n }\n if (\n !Number.isInteger(value) ||\n (value as number) < 1 ||\n (value as number) > MAX_LIMIT\n ) {\n throw new Error(`limit must be an integer from 1 to ${MAX_LIMIT}`);\n }\n return value as number;\n}\n\nfunction inspectElement(\n component: Component<any>,\n requestedProperties: string[],\n includeMissingProperties: boolean,\n): UiElementInspection {\n const properties: Record<string, unknown> = {};\n const missingProperties: string[] = [];\n for (const property of requestedProperties) {\n const inspected = readComputedProperty(component, property);\n if (!inspected.found) {\n missingProperties.push(property);\n continue;\n }\n properties[property] = serializeValue(inspected.value);\n }\n\n const id = getElementId(component);\n const text = collectText(component);\n const clipped = component.isClipped?.value === true;\n const disabled = readComputedProperty(component, 'disabled');\n const displayed = component.displayed?.value !== false;\n const semanticVisible = component.isVisible?.value !== false;\n\n return {\n id: typeof id === 'string' && id.length > 0 ? id : undefined,\n classes: getClassNames(component),\n componentType:\n component.constructor.name || component.type || 'UIKitComponent',\n uuid: component.uuid,\n text: text.length > 0 ? text : undefined,\n state: {\n active: (component.activeList?.value?.length ?? 0) > 0,\n clipped,\n disabled: disabled.found && disabled.value === true,\n displayed,\n hovered: (component.hoveredList?.value?.length ?? 0) > 0,\n visible:\n isObjectHierarchyVisible(component) &&\n semanticVisible &&\n displayed &&\n !clipped,\n },\n layout: {\n relativeCenter: numberPair(component.relativeCenter?.value),\n size: numberPair(component.size?.value),\n },\n properties,\n ...(includeMissingProperties && missingProperties.length > 0\n ? { missingProperties }\n : {}),\n };\n}\n\nfunction readComputedProperty(\n component: Component<any>,\n property: string,\n): { found: true; value: unknown } | { found: false } {\n if (Object.prototype.hasOwnProperty.call(Object.prototype, property)) {\n return { found: false };\n }\n const value = (\n component.properties?.peek() as Record<string, unknown> | undefined\n )?.[property];\n if (value !== undefined) {\n return { found: true, value };\n }\n\n return { found: false };\n}\n\nfunction collectText(component: Component<any>): string {\n const values: string[] = [];\n const seen = new Set<string>();\n const stack: Object3D[] = [component];\n let collectedLength = 0;\n let traversedObjects = 0;\n\n while (\n stack.length > 0 &&\n collectedLength < MAX_STRING_LENGTH &&\n traversedObjects < MAX_TRAVERSED_OBJECTS\n ) {\n const object = stack.pop()!;\n traversedObjects += 1;\n if (object instanceof Component) {\n const text = (\n object.properties?.peek() as Record<string, unknown> | undefined\n )?.text;\n if (typeof text === 'string') {\n const normalized = text.replace(/\\s+/gu, ' ').trim();\n if (normalized.length > 0 && !seen.has(normalized)) {\n seen.add(normalized);\n values.push(normalized);\n collectedLength += normalized.length + (values.length > 1 ? 1 : 0);\n }\n }\n }\n\n for (let index = object.children.length - 1; index >= 0; index -= 1) {\n stack.push(object.children[index]);\n }\n }\n\n return values.join(' ').slice(0, MAX_STRING_LENGTH);\n}\n\nfunction getElementId(component: Component<any>): string | undefined {\n const id = (\n component.properties?.peek() as Record<string, unknown> | undefined\n )?.id;\n return typeof id === 'string' && id.length > 0 ? id : undefined;\n}\n\nfunction isObjectHierarchyVisible(component: Component<any>): boolean {\n // UIKit uses Object3D.visible internally to suppress renderless layout\n // components. isVisible/displayed carry UIKit semantics; only inspect the\n // document and ordinary Three.js ancestors here.\n let object: Object3D | null = component.parent;\n while (object != null) {\n if (!(object instanceof Component) && object.visible === false) {\n return false;\n }\n object = object.parent;\n }\n return true;\n}\n\nfunction getClassNames(component: Component<any>): string[] {\n const list = (component.classList as unknown as { list?: unknown[] }).list;\n return Array.isArray(list)\n ? list.filter(\n (entry): entry is string =>\n typeof entry === 'string' && !entry.startsWith('__id__'),\n )\n : [];\n}\n\nfunction numberPair(value: unknown): [number, number] | null {\n if (\n !Array.isArray(value) ||\n value.length < 2 ||\n typeof value[0] !== 'number' ||\n typeof value[1] !== 'number' ||\n !Number.isFinite(value[0]) ||\n !Number.isFinite(value[1])\n ) {\n return null;\n }\n return [value[0], value[1]];\n}\n\nfunction findEntityUIKitDocument(entity: Entity): UIKitDocument | null {\n const hasPanelDocument = entity\n .getComponents()\n .some(\n (component) =>\n component === PanelDocument || component.id === PanelDocument.id,\n );\n if (hasPanelDocument) {\n const componentDocument = entity.getValue(\n PanelDocument,\n 'document',\n ) as UIKitDocument | null;\n if (\n componentDocument instanceof UIKitDocument &&\n !componentDocument.disposed\n ) {\n return componentDocument;\n }\n }\n\n return findOwnedObject(entity.object3D, entity.index, (object) => {\n if (object instanceof UIKitDocument) {\n return object.disposed ? null : object;\n }\n if (object instanceof UIKitMLAsset) {\n return object.document.disposed ? null : object.document;\n }\n return null;\n });\n}\n\nfunction findUIKitMLAsset(\n object: Object3D | null | undefined,\n entityIndex: number,\n): UIKitMLAsset | null {\n return findOwnedObject(object, entityIndex, (candidate) =>\n candidate instanceof UIKitMLAsset ? candidate : null,\n );\n}\n\nfunction findOwnedObject<T>(\n root: Object3D | null | undefined,\n entityIndex: number,\n match: (object: Object3D) => T | null,\n): T | null {\n if (!root) {\n return null;\n }\n const stack = [root];\n while (stack.length > 0) {\n const object = stack.pop()!;\n if (\n object !== root &&\n typeof object.entityIdx === 'number' &&\n object.entityIdx !== entityIndex\n ) {\n continue;\n }\n const result = match(object);\n if (result != null) {\n return result;\n }\n for (let index = object.children.length - 1; index >= 0; index -= 1) {\n stack.push(object.children[index]);\n }\n }\n return null;\n}\n\nfunction serializeValue(\n value: unknown,\n depth = 0,\n seen: WeakSet<object> = new WeakSet(),\n): unknown {\n if (\n value == null ||\n typeof value === 'boolean' ||\n typeof value === 'string'\n ) {\n return typeof value === 'string' && value.length > MAX_STRING_LENGTH\n ? `${value.slice(0, MAX_STRING_LENGTH)}...`\n : value;\n }\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : String(value);\n }\n if (typeof value === 'function') {\n return '<function>';\n }\n if (typeof value !== 'object') {\n return String(value);\n }\n if ((value as { isObject3D?: boolean }).isObject3D) {\n const object = value as { name?: string; type?: string };\n return `<Object3D:${object.name || object.type || 'unnamed'}>`;\n }\n if (seen.has(value)) {\n return '<circular>';\n }\n if (depth >= MAX_SERIALIZED_DEPTH) {\n return '<object>';\n }\n seen.add(value);\n if (ArrayBuffer.isView(value) && 'length' in value) {\n const array = value as unknown as ArrayLike<number>;\n const values = Array.from(\n { length: Math.min(array.length, MAX_COLLECTION_ITEMS) },\n (_, index) => array[index],\n );\n const result =\n array.length > MAX_COLLECTION_ITEMS\n ? { values, truncated: true, totalLength: array.length }\n : values;\n seen.delete(value);\n return result;\n }\n if (Array.isArray(value)) {\n const values = value\n .slice(0, MAX_COLLECTION_ITEMS)\n .map((entry) => serializeValue(entry, depth + 1, seen));\n const result =\n value.length > MAX_COLLECTION_ITEMS\n ? { values, truncated: true, totalLength: value.length }\n : values;\n seen.delete(value);\n return result;\n }\n const result: Record<string, unknown> = {};\n const keys = Object.keys(value);\n for (const key of keys.slice(0, MAX_COLLECTION_ITEMS)) {\n result[key] = serializeValue(\n (value as Record<string, unknown>)[key],\n depth + 1,\n seen,\n );\n }\n if (keys.length > MAX_COLLECTION_ITEMS) {\n result['...'] = `${keys.length - MAX_COLLECTION_ITEMS} more keys`;\n }\n seen.delete(value);\n return result;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"physics-runtime.js","sources":["../../src/physics/physics-runtime.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-runtime.js","sources":["../../src/physics/physics-runtime.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport HavokPhysics, {\n type HavokPhysicsWithBindings,\n type HP_BodyId,\n type HP_ShapeId,\n type HP_WorldId,\n type MassProperties,\n type MotionType,\n} from '@babylonjs/havok';\nimport {\n getCapsuleAxisEndpoints,\n PHYSICS_HEADER_BYTES,\n PHYSICS_HEADER_WORDS,\n PHYSICS_INPUT_RECORD_FLOATS,\n PHYSICS_OUTPUT_RECORD_FLOATS,\n PHYSICS_PROTOCOL_VERSION,\n PhysicsCommandFlag,\n PhysicsExchangeStatus,\n PhysicsHeaderIndex,\n PhysicsInputOffset,\n PhysicsOutputOffset,\n type PhysicsWorkerAddBodyMessage,\n type PhysicsWorkerBodyState,\n type PhysicsWorkerShapeDescriptor,\n} from './physics-worker-protocol.js';\nimport { reusableFloat32View } from './physics-worker-utils.js';\n\ninterface WorkerBody {\n body: HP_BodyId;\n shape: HP_ShapeId;\n transformOffset: number;\n state: PhysicsWorkerBodyState;\n}\n\ninterface PhysicsRuntimeState {\n havok?: HavokPhysicsWithBindings;\n havokWorld?: HP_WorldId;\n heapFloatView?: Float32Array;\n initializePromise?: Promise<void>;\n bodies: Map<number, WorkerBody>;\n destroyed: boolean;\n}\n\nasync function initialize(\n state: PhysicsRuntimeState,\n gravity: [number, number, number],\n): Promise<void> {\n if (state.destroyed) {\n throw new Error('Physics runtime has been destroyed');\n }\n if (!state.initializePromise) {\n state.initializePromise = (async () => {\n const engine = await HavokPhysics();\n if (state.destroyed) {\n throw new Error('Physics runtime was destroyed during initialization');\n }\n const world = engine.HP_World_Create()[1];\n try {\n engine.HP_World_SetGravity(world, gravity);\n } catch (error) {\n engine.HP_World_Release(world);\n throw error;\n }\n state.havok = engine;\n state.havokWorld = world;\n })();\n }\n await state.initializePromise;\n}\n\nfunction requireHavok(\n state: PhysicsRuntimeState,\n): [HavokPhysicsWithBindings, HP_WorldId] {\n if (!state.havok || !state.havokWorld) {\n throw new Error('Physics runtime received a message before initialization');\n }\n return [state.havok, state.havokWorld];\n}\n\nfunction getHeapFloatView(\n state: PhysicsRuntimeState,\n engine: HavokPhysicsWithBindings,\n): Float32Array {\n state.heapFloatView = reusableFloat32View(\n state.heapFloatView,\n engine.HEAPU8.buffer,\n );\n return state.heapFloatView;\n}\n\nfunction copyFloat32ToHeap(\n engine: HavokPhysicsWithBindings,\n source: Float32Array,\n): number {\n const offset = engine._malloc(source.byteLength);\n new Float32Array(engine.HEAPU8.buffer, offset, source.length).set(source);\n return offset;\n}\n\nfunction copyInt32ToHeap(\n engine: HavokPhysicsWithBindings,\n source: Uint32Array,\n): number {\n const offset = engine._malloc(source.byteLength);\n new Int32Array(engine.HEAPU8.buffer, offset, source.length).set(source);\n return offset;\n}\n\nfunction configureShapeMaterial(\n engine: HavokPhysicsWithBindings,\n shape: HP_ShapeId,\n descriptor: PhysicsWorkerShapeDescriptor,\n): HP_ShapeId {\n engine.HP_Shape_SetDensity(shape, descriptor.density);\n engine.HP_Shape_SetMaterial(shape, [\n descriptor.friction,\n descriptor.friction,\n descriptor.restitution,\n engine.MaterialCombine.MINIMUM,\n engine.MaterialCombine.MAXIMUM,\n ]);\n return shape;\n}\n\nfunction createShape(\n engine: HavokPhysicsWithBindings,\n descriptor: PhysicsWorkerShapeDescriptor,\n): HP_ShapeId {\n const dimensions = descriptor.dimensions;\n let shape: HP_ShapeId | undefined;\n\n try {\n switch (descriptor.type) {\n case 'Sphere':\n shape = engine.HP_Shape_CreateSphere([0, 0, 0], dimensions[0])[1];\n break;\n case 'Box':\n shape = engine.HP_Shape_CreateBox(\n [0, 0, 0],\n [0, 0, 0, 1],\n dimensions,\n )[1];\n break;\n case 'Cylinder':\n shape = engine.HP_Shape_CreateCylinder(\n [0, -dimensions[1] / 2, 0],\n [0, dimensions[1] / 2, 0],\n dimensions[0],\n )[1];\n break;\n case 'Capsules': {\n const endpoints = getCapsuleAxisEndpoints(dimensions[0], dimensions[1]);\n if (!endpoints) {\n throw new Error(\n 'Capsule dimensions require a positive radius and a total height greater than or equal to twice the radius',\n );\n }\n shape = engine.HP_Shape_CreateCapsule(\n endpoints[0],\n endpoints[1],\n dimensions[0],\n )[1];\n break;\n }\n case 'ConvexHull': {\n if (!descriptor.vertices) {\n throw new Error('Convex hull body is missing its vertex buffer');\n }\n const vertices = new Float32Array(descriptor.vertices);\n const vertexOffset = copyFloat32ToHeap(engine, vertices);\n try {\n shape = engine.HP_Shape_CreateConvexHull(\n vertexOffset,\n vertices.length / 3,\n )[1];\n } finally {\n engine._free(vertexOffset);\n }\n break;\n }\n case 'TriMesh': {\n if (!descriptor.vertices || !descriptor.indices) {\n throw new Error('Tri-mesh body is missing vertex or index data');\n }\n const vertices = new Float32Array(descriptor.vertices);\n const indices = new Uint32Array(descriptor.indices);\n const vertexOffset = copyFloat32ToHeap(engine, vertices);\n const indexOffset = copyInt32ToHeap(engine, indices);\n try {\n shape = engine.HP_Shape_CreateMesh(\n vertexOffset,\n vertices.length / 3,\n indexOffset,\n indices.length / 3,\n )[1];\n } finally {\n engine._free(vertexOffset);\n engine._free(indexOffset);\n }\n break;\n }\n }\n\n return configureShapeMaterial(engine, shape, descriptor);\n } catch (error) {\n if (shape) {\n engine.HP_Shape_Release(shape);\n }\n throw error;\n }\n}\n\nfunction motionTypeForState(\n engine: HavokPhysicsWithBindings,\n state: PhysicsWorkerBodyState,\n): MotionType {\n switch (state) {\n case 'STATIC':\n return engine.MotionType.STATIC;\n case 'KINEMATIC':\n return engine.MotionType.KINEMATIC;\n case 'DYNAMIC':\n default:\n return engine.MotionType.DYNAMIC;\n }\n}\n\nfunction removeBody(state: PhysicsRuntimeState, handle: number): void {\n const entry = state.bodies.get(handle);\n if (!entry) {\n return;\n }\n const [engine, world] = requireHavok(state);\n engine.HP_World_RemoveBody(world, entry.body);\n engine.HP_Body_Release(entry.body);\n engine.HP_Shape_Release(entry.shape);\n state.bodies.delete(handle);\n}\n\nfunction addBody(\n state: PhysicsRuntimeState,\n message: PhysicsWorkerAddBodyMessage,\n): [number, number, number] {\n const [engine, world] = requireHavok(state);\n removeBody(state, message.handle);\n\n const shape = createShape(engine, message.shape);\n let body: HP_BodyId | undefined;\n let addedToWorld = false;\n try {\n body = engine.HP_Body_Create()[1];\n engine.HP_Body_SetShape(body, shape);\n engine.HP_Body_SetQTransform(body, [message.position, message.quaternion]);\n engine.HP_Body_SetLinearDamping(body, message.linearDamping);\n engine.HP_Body_SetAngularDamping(body, message.angularDamping);\n engine.HP_Body_SetGravityFactor(body, message.gravityFactor);\n\n const shapeMass = engine.HP_Shape_BuildMassProperties(shape);\n const massProperties: MassProperties =\n shapeMass[0] === engine.Result.RESULT_OK\n ? shapeMass[1]\n : [[0, 0, 0], 1, [1, 1, 1], [0, 0, 0, 1]];\n\n if (message.centerOfMass.every((value) => value === Infinity)) {\n message.centerOfMass = [...massProperties[0]];\n } else {\n massProperties[0] = [...message.centerOfMass];\n }\n\n engine.HP_Body_SetMassProperties(body, massProperties);\n engine.HP_Body_SetMotionType(\n body,\n motionTypeForState(engine, message.state),\n );\n engine.HP_World_AddBody(world, body, false);\n addedToWorld = true;\n\n state.bodies.set(message.handle, {\n body,\n shape,\n state: message.state,\n transformOffset: engine.HP_Body_GetWorldTransformOffset(body)[1],\n });\n } catch (error) {\n if (body) {\n if (addedToWorld) {\n engine.HP_World_RemoveBody(world, body);\n }\n engine.HP_Body_Release(body);\n }\n engine.HP_Shape_Release(shape);\n throw error;\n }\n\n return message.centerOfMass;\n}\n\nfunction applyCommands(state: PhysicsRuntimeState, buffer: ArrayBuffer): void {\n const [engine] = requireHavok(state);\n const ints = new Int32Array(buffer);\n const floats = new Float32Array(buffer);\n const commandCount = ints[PhysicsHeaderIndex.CommandCount];\n\n for (let index = 0; index < commandCount; index++) {\n const base = PHYSICS_HEADER_WORDS + index * PHYSICS_INPUT_RECORD_FLOATS;\n const handle = floats[base + PhysicsInputOffset.Handle];\n const flags = floats[base + PhysicsInputOffset.Flags];\n const entry = state.bodies.get(handle);\n if (!entry) {\n continue;\n }\n\n if (\n flags &\n (PhysicsCommandFlag.SetTransform | PhysicsCommandFlag.SetTargetTransform)\n ) {\n const position: [number, number, number] = [\n floats[base + PhysicsInputOffset.PositionX],\n floats[base + PhysicsInputOffset.PositionY],\n floats[base + PhysicsInputOffset.PositionZ],\n ];\n const quaternion: [number, number, number, number] = [\n floats[base + PhysicsInputOffset.QuaternionX],\n floats[base + PhysicsInputOffset.QuaternionY],\n floats[base + PhysicsInputOffset.QuaternionZ],\n floats[base + PhysicsInputOffset.QuaternionW],\n ];\n if (flags & PhysicsCommandFlag.SetTransform) {\n engine.HP_Body_SetQTransform(entry.body, [position, quaternion]);\n }\n if (flags & PhysicsCommandFlag.SetTargetTransform) {\n engine.HP_Body_SetTargetQTransform(entry.body, [position, quaternion]);\n }\n }\n if (flags & PhysicsCommandFlag.ResetLinearVelocity) {\n engine.HP_Body_SetLinearVelocity(entry.body, [0, 0, 0]);\n }\n if (flags & PhysicsCommandFlag.ResetAngularVelocity) {\n engine.HP_Body_SetAngularVelocity(entry.body, [0, 0, 0]);\n }\n if (flags & PhysicsCommandFlag.ApplyImpulse) {\n engine.HP_Body_ApplyImpulse(\n entry.body,\n [\n floats[base + PhysicsInputOffset.ImpulsePointX],\n floats[base + PhysicsInputOffset.ImpulsePointY],\n floats[base + PhysicsInputOffset.ImpulsePointZ],\n ],\n [\n floats[base + PhysicsInputOffset.ImpulseX],\n floats[base + PhysicsInputOffset.ImpulseY],\n floats[base + PhysicsInputOffset.ImpulseZ],\n ],\n );\n }\n if (flags & PhysicsCommandFlag.SetLinearVelocity) {\n engine.HP_Body_SetLinearVelocity(entry.body, [\n floats[base + PhysicsInputOffset.LinearVelocityX],\n floats[base + PhysicsInputOffset.LinearVelocityY],\n floats[base + PhysicsInputOffset.LinearVelocityZ],\n ]);\n }\n if (flags & PhysicsCommandFlag.SetAngularVelocity) {\n engine.HP_Body_SetAngularVelocity(entry.body, [\n floats[base + PhysicsInputOffset.AngularVelocityX],\n floats[base + PhysicsInputOffset.AngularVelocityY],\n floats[base + PhysicsInputOffset.AngularVelocityZ],\n ]);\n }\n if (flags & PhysicsCommandFlag.SetGravityFactor) {\n engine.HP_Body_SetGravityFactor(\n entry.body,\n floats[base + PhysicsInputOffset.GravityFactor],\n );\n }\n if (flags & PhysicsCommandFlag.SetLinearDamping) {\n engine.HP_Body_SetLinearDamping(\n entry.body,\n floats[base + PhysicsInputOffset.LinearDamping],\n );\n }\n if (flags & PhysicsCommandFlag.SetAngularDamping) {\n engine.HP_Body_SetAngularDamping(\n entry.body,\n floats[base + PhysicsInputOffset.AngularDamping],\n );\n }\n }\n}\n\nfunction writeQuaternionFromMatrix(\n heap: Float32Array,\n matrixBase: number,\n output: Float32Array,\n outputBase: number,\n): void {\n const m11 = heap[matrixBase];\n const m12 = heap[matrixBase + 4];\n const m13 = heap[matrixBase + 8];\n const m21 = heap[matrixBase + 1];\n const m22 = heap[matrixBase + 5];\n const m23 = heap[matrixBase + 9];\n const m31 = heap[matrixBase + 2];\n const m32 = heap[matrixBase + 6];\n const m33 = heap[matrixBase + 10];\n const trace = m11 + m22 + m33;\n\n let x: number;\n let y: number;\n let z: number;\n let w: number;\n\n if (trace > 0) {\n const scale = 0.5 / Math.sqrt(trace + 1);\n w = 0.25 / scale;\n x = (m32 - m23) * scale;\n y = (m13 - m31) * scale;\n z = (m21 - m12) * scale;\n } else if (m11 > m22 && m11 > m33) {\n const scale = 2 * Math.sqrt(1 + m11 - m22 - m33);\n w = (m32 - m23) / scale;\n x = 0.25 * scale;\n y = (m12 + m21) / scale;\n z = (m13 + m31) / scale;\n } else if (m22 > m33) {\n const scale = 2 * Math.sqrt(1 + m22 - m11 - m33);\n w = (m13 - m31) / scale;\n x = (m12 + m21) / scale;\n y = 0.25 * scale;\n z = (m23 + m32) / scale;\n } else {\n const scale = 2 * Math.sqrt(1 + m33 - m11 - m22);\n w = (m21 - m12) / scale;\n x = (m13 + m31) / scale;\n y = (m23 + m32) / scale;\n z = 0.25 * scale;\n }\n\n output[outputBase + PhysicsOutputOffset.QuaternionX] = x;\n output[outputBase + PhysicsOutputOffset.QuaternionY] = y;\n output[outputBase + PhysicsOutputOffset.QuaternionZ] = z;\n output[outputBase + PhysicsOutputOffset.QuaternionW] = w;\n}\n\nfunction writeResults(state: PhysicsRuntimeState, buffer: ArrayBuffer): void {\n const [engine, world] = requireHavok(state);\n const ints = new Int32Array(buffer);\n const floats = new Float32Array(buffer);\n const bodyBuffer = engine.HP_World_GetBodyBuffer(world)[1];\n const maxResults = Math.floor(\n (buffer.byteLength - PHYSICS_HEADER_BYTES) /\n (PHYSICS_OUTPUT_RECORD_FLOATS * 4),\n );\n let resultCount = 0;\n\n for (const [handle, entry] of state.bodies) {\n if (entry.state === 'STATIC') {\n continue;\n }\n if (resultCount === maxResults) {\n ints[PhysicsHeaderIndex.Status] |= PhysicsExchangeStatus.ResultsTruncated;\n break;\n }\n\n const base =\n PHYSICS_HEADER_WORDS + resultCount * PHYSICS_OUTPUT_RECORD_FLOATS;\n const matrixBase = (bodyBuffer + entry.transformOffset) >> 2;\n const linearVelocity = engine.HP_Body_GetLinearVelocity(entry.body)[1];\n const angularVelocity = engine.HP_Body_GetAngularVelocity(entry.body)[1];\n const heap = getHeapFloatView(state, engine);\n\n floats[base + PhysicsOutputOffset.Handle] = handle;\n floats[base + PhysicsOutputOffset.PositionX] = heap[matrixBase + 12];\n floats[base + PhysicsOutputOffset.PositionY] = heap[matrixBase + 13];\n floats[base + PhysicsOutputOffset.PositionZ] = heap[matrixBase + 14];\n writeQuaternionFromMatrix(heap, matrixBase, floats, base);\n floats[base + PhysicsOutputOffset.LinearVelocityX] = linearVelocity[0];\n floats[base + PhysicsOutputOffset.LinearVelocityY] = linearVelocity[1];\n floats[base + PhysicsOutputOffset.LinearVelocityZ] = linearVelocity[2];\n floats[base + PhysicsOutputOffset.AngularVelocityX] = angularVelocity[0];\n floats[base + PhysicsOutputOffset.AngularVelocityY] = angularVelocity[1];\n floats[base + PhysicsOutputOffset.AngularVelocityZ] = angularVelocity[2];\n resultCount++;\n }\n\n ints[PhysicsHeaderIndex.ResultCount] = resultCount;\n}\n\nexport interface PhysicsRuntimeStepResult {\n buffer: ArrayBuffer;\n error?: string;\n}\n\n/** Shared Havok runtime used by both main-thread and worker transports. */\nexport class PhysicsRuntime {\n private readonly state: PhysicsRuntimeState = {\n bodies: new Map<number, WorkerBody>(),\n destroyed: false,\n };\n\n initialize(gravity: [number, number, number]): Promise<void> {\n return initialize(this.state, gravity);\n }\n\n setGravity(gravity: [number, number, number]): void {\n const [engine, world] = requireHavok(this.state);\n engine.HP_World_SetGravity(world, gravity);\n }\n\n addBody(message: PhysicsWorkerAddBodyMessage): [number, number, number] {\n return addBody(this.state, message);\n }\n\n removeBody(handle: number): void {\n removeBody(this.state, handle);\n }\n\n step(buffer: ArrayBuffer): PhysicsRuntimeStepResult {\n const ints = new Int32Array(buffer);\n try {\n if (ints[PhysicsHeaderIndex.Version] !== PHYSICS_PROTOCOL_VERSION) {\n throw new Error('Physics exchange buffer protocol version mismatch');\n }\n const [engine, world] = requireHavok(this.state);\n applyCommands(this.state, buffer);\n const floats = new Float32Array(buffer);\n const delta = floats[PhysicsHeaderIndex.Delta];\n const stepCount = Math.max(0, ints[PhysicsHeaderIndex.StepCount]);\n for (let index = 0; index < stepCount; index++) {\n engine.HP_World_SetIdealStepTime(world, delta);\n engine.HP_World_Step(world, delta);\n }\n writeResults(this.state, buffer);\n return { buffer };\n } catch (error) {\n ints[PhysicsHeaderIndex.Status] |= PhysicsExchangeStatus.StepFailed;\n ints[PhysicsHeaderIndex.ResultCount] = 0;\n return {\n buffer,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n destroy(): void {\n if (this.state.destroyed) {\n return;\n }\n this.state.destroyed = true;\n for (const handle of [...this.state.bodies.keys()]) {\n removeBody(this.state, handle);\n }\n if (this.state.havok && this.state.havokWorld) {\n this.state.havok.HP_World_Release(this.state.havokWorld);\n }\n this.state.havok = undefined;\n this.state.havokWorld = undefined;\n this.state.heapFloatView = undefined;\n this.state.initializePromise = undefined;\n }\n}\n"],"names":[],"mappings":"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"}