@aura3d/engine 1.5.1 → 2.0.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 (549) hide show
  1. package/README.md +142 -83
  2. package/dist/animation/FootIk.d.ts +10 -1
  3. package/dist/animation/FootIk.d.ts.map +1 -1
  4. package/dist/animation/FootIk.js.map +1 -1
  5. package/dist/animation/HumanoidRetargeting.js +1 -1
  6. package/dist/animation/RigQuality.d.ts +1 -1
  7. package/dist/animation/RigQuality.js +2 -2
  8. package/dist/animation/RigQuality.js.map +1 -1
  9. package/dist/animation/SecondaryAnimationSampling.d.ts +55 -0
  10. package/dist/animation/SecondaryAnimationSampling.d.ts.map +1 -0
  11. package/dist/animation/SecondaryAnimationSampling.js +145 -0
  12. package/dist/animation/SecondaryAnimationSampling.js.map +1 -0
  13. package/dist/animation/SpringBones.d.ts.map +1 -1
  14. package/dist/animation/SpringBones.js +1 -2
  15. package/dist/animation/SpringBones.js.map +1 -1
  16. package/dist/animation/browser-index.d.ts +0 -2
  17. package/dist/animation/browser-index.d.ts.map +1 -1
  18. package/dist/animation/browser-index.js +0 -2
  19. package/dist/animation/browser-index.js.map +1 -1
  20. package/dist/animation/index.d.ts +0 -2
  21. package/dist/animation/index.d.ts.map +1 -1
  22. package/dist/animation/index.js +0 -2
  23. package/dist/animation/index.js.map +1 -1
  24. package/dist/assets/GLTFAnimationRuntime.d.ts +4 -0
  25. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  26. package/dist/assets/GLTFAnimationRuntime.js +29 -6
  27. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  28. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  29. package/dist/assets/GLTFLoader.js +13 -4
  30. package/dist/assets/GLTFLoader.js.map +1 -1
  31. package/dist/assets/browser-index.d.ts +0 -4
  32. package/dist/assets/browser-index.d.ts.map +1 -1
  33. package/dist/assets/browser-index.js +0 -2
  34. package/dist/assets/browser-index.js.map +1 -1
  35. package/dist/assets/gltf-runtime.d.ts +6 -0
  36. package/dist/assets/gltf-runtime.d.ts.map +1 -0
  37. package/dist/assets/gltf-runtime.js +4 -0
  38. package/dist/assets/gltf-runtime.js.map +1 -0
  39. package/dist/assets/index.d.ts +0 -4
  40. package/dist/assets/index.d.ts.map +1 -1
  41. package/dist/assets/index.js +0 -2
  42. package/dist/assets/index.js.map +1 -1
  43. package/dist/audio/AudioBus.d.ts +19 -1
  44. package/dist/audio/AudioBus.d.ts.map +1 -1
  45. package/dist/audio/AudioBus.js.map +1 -1
  46. package/dist/audio/AudioFileManager.d.ts +5 -0
  47. package/dist/audio/AudioFileManager.d.ts.map +1 -1
  48. package/dist/audio/AudioFileManager.js +13 -0
  49. package/dist/audio/AudioFileManager.js.map +1 -1
  50. package/dist/audio/AudioSource.d.ts +8 -0
  51. package/dist/audio/AudioSource.d.ts.map +1 -1
  52. package/dist/audio/AudioSource.js +56 -7
  53. package/dist/audio/AudioSource.js.map +1 -1
  54. package/dist/audio/index.d.ts +1 -7
  55. package/dist/audio/index.d.ts.map +1 -1
  56. package/dist/audio/index.js +0 -3
  57. package/dist/audio/index.js.map +1 -1
  58. package/dist/aura3d-cli/asset-core-types.d.ts +1 -1
  59. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  60. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  61. package/dist/aura3d-cli/asset-manifest.js +36 -2
  62. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  63. package/dist/aura3d-cli/asset-role-admission.js +1 -1
  64. package/dist/aura3d-cli/asset-role-admission.js.map +1 -1
  65. package/dist/aura3d-cli/cli-help.js +3 -3
  66. package/dist/aura3d-cli/cli-help.js.map +1 -1
  67. package/dist/aura3d-cli/cli-options.d.ts +1 -1
  68. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  69. package/dist/aura3d-cli/cli-options.js +2 -2
  70. package/dist/aura3d-cli/cli-options.js.map +1 -1
  71. package/dist/aura3d-cli/cli.js +1 -1
  72. package/dist/aura3d-cli/cli.js.map +1 -1
  73. package/dist/aura3d-cli/index.d.ts.map +1 -1
  74. package/dist/aura3d-cli/index.js +13 -5
  75. package/dist/aura3d-cli/index.js.map +1 -1
  76. package/dist/create-aura3d/index.d.ts.map +1 -1
  77. package/dist/create-aura3d/index.js +10 -4
  78. package/dist/create-aura3d/index.js.map +1 -1
  79. package/dist/create-aura3d/showcase-spec-evidence.js +5 -1
  80. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  81. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +8 -1
  82. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  83. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +191 -31
  84. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  85. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  86. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +7 -0
  87. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  88. package/dist/create-aura3d/showcase-spec-parser.js +1 -1
  89. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  90. package/dist/create-aura3d/showcase-spec-types.d.ts +50 -0
  91. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  92. package/dist/editor-runtime/index.d.ts +0 -2
  93. package/dist/editor-runtime/index.d.ts.map +1 -1
  94. package/dist/editor-runtime/index.js +0 -1
  95. package/dist/editor-runtime/index.js.map +1 -1
  96. package/dist/engine/agent-api/GameAssetValidation.js +1 -1
  97. package/dist/engine/agent-api/GameAssetValidation.js.map +1 -1
  98. package/dist/engine/agent-api/GameEvidence.js +1 -1
  99. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  100. package/dist/engine/agent-api/GameGenreKits.d.ts +63 -0
  101. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  102. package/dist/engine/agent-api/GameGenreKits.js +274 -56
  103. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  104. package/dist/engine/agent-api/GameRuntime.d.ts +38 -1
  105. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  106. package/dist/engine/agent-api/GameRuntime.js +69 -1
  107. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  108. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +24 -0
  109. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  110. package/dist/engine/agent-api/GameSceneGeometryBindings.js +52 -0
  111. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  112. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts +111 -0
  113. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts.map +1 -0
  114. package/dist/engine/agent-api/LeanArcadeRuntime.js +219 -0
  115. package/dist/engine/agent-api/LeanArcadeRuntime.js.map +1 -0
  116. package/dist/engine/agent-api/PhysicsRuntime.d.ts +332 -0
  117. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -0
  118. package/dist/engine/agent-api/PhysicsRuntime.js +619 -0
  119. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -0
  120. package/dist/engine/agent-api/PlatformerMotion.d.ts +124 -0
  121. package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -1
  122. package/dist/engine/agent-api/PlatformerMotion.js +101 -16
  123. package/dist/engine/agent-api/PlatformerMotion.js.map +1 -1
  124. package/dist/engine/agent-api/RootGeometry.d.ts +36 -0
  125. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -0
  126. package/dist/engine/agent-api/RootGeometry.js +152 -0
  127. package/dist/engine/agent-api/RootGeometry.js.map +1 -0
  128. package/dist/engine/agent-api/SpatialAnchoring.d.ts +47 -0
  129. package/dist/engine/agent-api/SpatialAnchoring.d.ts.map +1 -1
  130. package/dist/engine/agent-api/SpatialAnchoring.js +46 -0
  131. package/dist/engine/agent-api/SpatialAnchoring.js.map +1 -1
  132. package/dist/engine/agent-api/VehicleChassis.d.ts +52 -0
  133. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  134. package/dist/engine/agent-api/VehicleChassis.js +182 -8
  135. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  136. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +65 -1
  137. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
  138. package/dist/engine/agent-api/WorldLabelRenderer.js +48 -5
  139. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
  140. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  141. package/dist/engine/agent-api/index.d.ts +240 -14
  142. package/dist/engine/agent-api/index.d.ts.map +1 -1
  143. package/dist/engine/agent-api/index.js +1435 -344
  144. package/dist/engine/agent-api/index.js.map +1 -1
  145. package/dist/engine/agent-api/lean-base.d.ts +224 -0
  146. package/dist/engine/agent-api/lean-base.d.ts.map +1 -0
  147. package/dist/engine/agent-api/lean-base.js +322 -0
  148. package/dist/engine/agent-api/lean-base.js.map +1 -0
  149. package/dist/engine/agent-api/lean-game.d.ts +3 -0
  150. package/dist/engine/agent-api/lean-game.d.ts.map +1 -0
  151. package/dist/engine/agent-api/lean-game.js +3 -0
  152. package/dist/engine/agent-api/lean-game.js.map +1 -0
  153. package/dist/engine/agent-api/lean-product.d.ts +3 -0
  154. package/dist/engine/agent-api/lean-product.d.ts.map +1 -0
  155. package/dist/engine/agent-api/lean-product.js +3 -0
  156. package/dist/engine/agent-api/lean-product.js.map +1 -0
  157. package/dist/engine/agent-api/lean.d.ts +3 -0
  158. package/dist/engine/agent-api/lean.d.ts.map +1 -0
  159. package/dist/engine/agent-api/lean.js +3 -0
  160. package/dist/engine/agent-api/lean.js.map +1 -0
  161. package/dist/engine/agent-api/media-node.d.ts +42 -0
  162. package/dist/engine/agent-api/media-node.d.ts.map +1 -0
  163. package/dist/engine/agent-api/media-node.js +44 -0
  164. package/dist/engine/agent-api/media-node.js.map +1 -0
  165. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  166. package/dist/engine/game/GameAudio.d.ts +5 -0
  167. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  168. package/dist/engine/game/GameAudio.js +65 -23
  169. package/dist/engine/game/GameAudio.js.map +1 -1
  170. package/dist/engine/production-runtime/TypedGLBActor.d.ts +9 -1
  171. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  172. package/dist/engine/production-runtime/TypedGLBActor.js +25 -7
  173. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  174. package/dist/engine/production-runtime/index.d.ts +2 -2
  175. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  176. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +3 -3
  177. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -1
  178. package/dist/environments/index.d.ts +5 -10
  179. package/dist/environments/index.d.ts.map +1 -1
  180. package/dist/environments/index.js +0 -3
  181. package/dist/environments/index.js.map +1 -1
  182. package/dist/environments/node.d.ts +7 -0
  183. package/dist/environments/node.d.ts.map +1 -0
  184. package/dist/environments/node.js +5 -0
  185. package/dist/environments/node.js.map +1 -0
  186. package/dist/index.d.ts +3 -0
  187. package/dist/index.js +3 -0
  188. package/dist/input/InputActionBinding.d.ts +44 -0
  189. package/dist/input/InputActionBinding.d.ts.map +1 -0
  190. package/dist/input/InputActionBinding.js +86 -0
  191. package/dist/input/InputActionBinding.js.map +1 -0
  192. package/dist/input/InputActionBindingFixtures.d.ts +8 -0
  193. package/dist/input/InputActionBindingFixtures.d.ts.map +1 -1
  194. package/dist/input/InputActionBindingFixtures.js +8 -0
  195. package/dist/input/InputActionBindingFixtures.js.map +1 -1
  196. package/dist/input/InputValueProcessors.d.ts +19 -0
  197. package/dist/input/InputValueProcessors.d.ts.map +1 -0
  198. package/dist/input/InputValueProcessors.js +24 -0
  199. package/dist/input/InputValueProcessors.js.map +1 -0
  200. package/dist/input/index.d.ts +2 -6
  201. package/dist/input/index.d.ts.map +1 -1
  202. package/dist/input/index.js +1 -3
  203. package/dist/input/index.js.map +1 -1
  204. package/dist/lean/ArcadeRuntime.d.ts +111 -0
  205. package/dist/lean/ArcadeRuntime.d.ts.map +1 -0
  206. package/dist/lean/ArcadeRuntime.js +219 -0
  207. package/dist/lean/ArcadeRuntime.js.map +1 -0
  208. package/dist/lean/base.d.ts +228 -0
  209. package/dist/lean/base.d.ts.map +1 -0
  210. package/dist/lean/base.js +322 -0
  211. package/dist/lean/base.js.map +1 -0
  212. package/dist/lean/game.d.ts +19 -0
  213. package/dist/lean/game.d.ts.map +1 -0
  214. package/dist/lean/game.js +37 -0
  215. package/dist/lean/game.js.map +1 -0
  216. package/dist/lean/index.d.ts +4 -0
  217. package/dist/lean/index.d.ts.map +1 -0
  218. package/dist/lean/index.js +10 -0
  219. package/dist/lean/index.js.map +1 -0
  220. package/dist/lean/product.d.ts +4 -0
  221. package/dist/lean/product.d.ts.map +1 -0
  222. package/dist/lean/product.js +55 -0
  223. package/dist/lean/product.js.map +1 -0
  224. package/dist/materials/index.d.ts +1 -10
  225. package/dist/materials/index.d.ts.map +1 -1
  226. package/dist/materials/index.js +1 -6
  227. package/dist/materials/index.js.map +1 -1
  228. package/dist/materials/node.d.ts +4 -0
  229. package/dist/materials/node.d.ts.map +1 -0
  230. package/dist/materials/node.js +3 -0
  231. package/dist/materials/node.js.map +1 -0
  232. package/dist/physics/ArcadeCharacterController.d.ts +53 -0
  233. package/dist/physics/ArcadeCharacterController.d.ts.map +1 -0
  234. package/dist/physics/ArcadeCharacterController.js +98 -0
  235. package/dist/physics/ArcadeCharacterController.js.map +1 -0
  236. package/dist/physics/ArcadeVehicleTelemetry.d.ts +162 -0
  237. package/dist/physics/ArcadeVehicleTelemetry.d.ts.map +1 -0
  238. package/dist/physics/ArcadeVehicleTelemetry.js +363 -0
  239. package/dist/physics/ArcadeVehicleTelemetry.js.map +1 -0
  240. package/dist/physics/CharacterController.d.ts +52 -0
  241. package/dist/physics/CharacterController.d.ts.map +1 -1
  242. package/dist/physics/CharacterController.js +380 -7
  243. package/dist/physics/CharacterController.js.map +1 -1
  244. package/dist/physics/Constraint.d.ts +20 -4
  245. package/dist/physics/Constraint.d.ts.map +1 -1
  246. package/dist/physics/Constraint.js +34 -60
  247. package/dist/physics/Constraint.js.map +1 -1
  248. package/dist/physics/FightingCharacterController.d.ts +32 -0
  249. package/dist/physics/FightingCharacterController.d.ts.map +1 -0
  250. package/dist/physics/FightingCharacterController.js +76 -0
  251. package/dist/physics/FightingCharacterController.js.map +1 -0
  252. package/dist/physics/MeshBVH.d.ts +72 -0
  253. package/dist/physics/MeshBVH.d.ts.map +1 -0
  254. package/dist/physics/MeshBVH.js +244 -0
  255. package/dist/physics/MeshBVH.js.map +1 -0
  256. package/dist/physics/PathFollowDriver.d.ts +162 -0
  257. package/dist/physics/PathFollowDriver.d.ts.map +1 -0
  258. package/dist/physics/PathFollowDriver.js +163 -0
  259. package/dist/physics/PathFollowDriver.js.map +1 -0
  260. package/dist/physics/PhysicsDebugDraw.d.ts +40 -1
  261. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  262. package/dist/physics/PhysicsDebugDraw.js +87 -17
  263. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  264. package/dist/physics/PhysicsWorld.d.ts +37 -18
  265. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  266. package/dist/physics/PhysicsWorld.js +231 -630
  267. package/dist/physics/PhysicsWorld.js.map +1 -1
  268. package/dist/physics/RacingLineProfile.d.ts +116 -0
  269. package/dist/physics/RacingLineProfile.d.ts.map +1 -0
  270. package/dist/physics/RacingLineProfile.js +181 -0
  271. package/dist/physics/RacingLineProfile.js.map +1 -0
  272. package/dist/physics/Raycast.d.ts +11 -0
  273. package/dist/physics/Raycast.d.ts.map +1 -1
  274. package/dist/physics/Raycast.js +62 -8
  275. package/dist/physics/Raycast.js.map +1 -1
  276. package/dist/physics/RigidBody.d.ts +16 -9
  277. package/dist/physics/RigidBody.d.ts.map +1 -1
  278. package/dist/physics/RigidBody.js +23 -75
  279. package/dist/physics/RigidBody.js.map +1 -1
  280. package/dist/physics/SurfaceQuery.d.ts +72 -0
  281. package/dist/physics/SurfaceQuery.d.ts.map +1 -0
  282. package/dist/physics/SurfaceQuery.js +89 -0
  283. package/dist/physics/SurfaceQuery.js.map +1 -0
  284. package/dist/physics/VehicleDynamics.d.ts +10 -0
  285. package/dist/physics/VehicleDynamics.d.ts.map +1 -1
  286. package/dist/physics/VehicleDynamics.js +31 -3
  287. package/dist/physics/VehicleDynamics.js.map +1 -1
  288. package/dist/physics/VehicleMotion.d.ts +125 -0
  289. package/dist/physics/VehicleMotion.d.ts.map +1 -0
  290. package/dist/physics/VehicleMotion.js +373 -0
  291. package/dist/physics/VehicleMotion.js.map +1 -0
  292. package/dist/physics/index.d.ts +62 -17
  293. package/dist/physics/index.d.ts.map +1 -1
  294. package/dist/physics/index.js +70 -17
  295. package/dist/physics/index.js.map +1 -1
  296. package/dist/physics/solverless-entry.d.ts +41 -0
  297. package/dist/physics/solverless-entry.d.ts.map +1 -0
  298. package/dist/physics/solverless-entry.js +40 -0
  299. package/dist/physics/solverless-entry.js.map +1 -0
  300. package/dist/physics/solverless.d.ts +37 -0
  301. package/dist/physics/solverless.d.ts.map +1 -0
  302. package/dist/physics/solverless.js +36 -0
  303. package/dist/physics/solverless.js.map +1 -0
  304. package/dist/physics/world-entry.d.ts +31 -0
  305. package/dist/physics/world-entry.d.ts.map +1 -0
  306. package/dist/physics/world-entry.js +30 -0
  307. package/dist/physics/world-entry.js.map +1 -0
  308. package/dist/physics/world.d.ts +18 -0
  309. package/dist/physics/world.d.ts.map +1 -0
  310. package/dist/physics/world.js +17 -0
  311. package/dist/physics/world.js.map +1 -0
  312. package/dist/physics-rapier/index.d.ts +169 -0
  313. package/dist/physics-rapier/index.d.ts.map +1 -0
  314. package/dist/physics-rapier/index.js +311 -0
  315. package/dist/physics-rapier/index.js.map +1 -0
  316. package/dist/product-studio/ProductLighting.d.ts.map +1 -1
  317. package/dist/product-studio/ProductLighting.js +34 -3
  318. package/dist/product-studio/ProductLighting.js.map +1 -1
  319. package/dist/rendering/ArchitecturalLighting.d.ts +35 -0
  320. package/dist/rendering/ArchitecturalLighting.d.ts.map +1 -0
  321. package/dist/rendering/ArchitecturalLighting.js +162 -0
  322. package/dist/rendering/ArchitecturalLighting.js.map +1 -0
  323. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +1 -1
  324. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -1
  325. package/dist/rendering/ArchitecturalMaterialCatalog.js +1 -1
  326. package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -1
  327. package/dist/rendering/ArchitecturalMeasurement.d.ts +27 -0
  328. package/dist/rendering/ArchitecturalMeasurement.d.ts.map +1 -0
  329. package/dist/rendering/ArchitecturalMeasurement.js +112 -0
  330. package/dist/rendering/ArchitecturalMeasurement.js.map +1 -0
  331. package/dist/rendering/CameraFraming.d.ts +77 -0
  332. package/dist/rendering/CameraFraming.d.ts.map +1 -1
  333. package/dist/rendering/CameraFraming.js +176 -1
  334. package/dist/rendering/CameraFraming.js.map +1 -1
  335. package/dist/rendering/CanonicalProductScene.d.ts +13 -0
  336. package/dist/rendering/CanonicalProductScene.d.ts.map +1 -0
  337. package/dist/rendering/CanonicalProductScene.js +78 -0
  338. package/dist/rendering/CanonicalProductScene.js.map +1 -0
  339. package/dist/rendering/CascadedShadowMaps.d.ts +1 -1
  340. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  341. package/dist/rendering/CascadedShadowMaps.js +1 -1
  342. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  343. package/dist/rendering/DepthPass.d.ts +1 -1
  344. package/dist/rendering/DepthPass.d.ts.map +1 -1
  345. package/dist/rendering/DepthPass.js +2 -2
  346. package/dist/rendering/DepthPass.js.map +1 -1
  347. package/dist/rendering/EnvironmentBackgroundPass.d.ts +1 -1
  348. package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -1
  349. package/dist/rendering/EnvironmentBackgroundPass.js +2 -2
  350. package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -1
  351. package/dist/rendering/EnvironmentPlatform.js +2 -2
  352. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  353. package/dist/rendering/ForwardPass.d.ts +1 -1
  354. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  355. package/dist/rendering/ForwardPass.js +24 -10
  356. package/dist/rendering/ForwardPass.js.map +1 -1
  357. package/dist/rendering/Geometry.d.ts +2 -0
  358. package/dist/rendering/Geometry.d.ts.map +1 -1
  359. package/dist/rendering/Geometry.js +15 -0
  360. package/dist/rendering/Geometry.js.map +1 -1
  361. package/dist/rendering/InstancedPBRMaterial.js +1 -1
  362. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  363. package/dist/rendering/InstancedUnlitMaterial.js +1 -1
  364. package/dist/rendering/InstancedUnlitMaterial.js.map +1 -1
  365. package/dist/rendering/Material.js +2 -2
  366. package/dist/rendering/Material.js.map +1 -1
  367. package/dist/rendering/MaterialBinding.js +4 -4
  368. package/dist/rendering/MaterialBinding.js.map +1 -1
  369. package/dist/rendering/MaterialInstance.js +2 -2
  370. package/dist/rendering/MaterialInstance.js.map +1 -1
  371. package/dist/rendering/MorphUnlitMaterial.js +1 -1
  372. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  373. package/dist/rendering/NormalMappedPBRMaterial.js +1 -1
  374. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  375. package/dist/rendering/OceanSurface.d.ts +62 -0
  376. package/dist/rendering/OceanSurface.d.ts.map +1 -0
  377. package/dist/rendering/OceanSurface.js +240 -0
  378. package/dist/rendering/OceanSurface.js.map +1 -0
  379. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  380. package/dist/rendering/PBRMaterial.js +3 -3
  381. package/dist/rendering/PBRMaterial.js.map +1 -1
  382. package/dist/rendering/PortableShaderMaterial.d.ts +60 -0
  383. package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -0
  384. package/dist/rendering/PortableShaderMaterial.js +223 -0
  385. package/dist/rendering/PortableShaderMaterial.js.map +1 -0
  386. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  387. package/dist/rendering/PostProcessPass.js +30 -6
  388. package/dist/rendering/PostProcessPass.js.map +1 -1
  389. package/dist/rendering/ProceduralTexture.d.ts +27 -0
  390. package/dist/rendering/ProceduralTexture.d.ts.map +1 -0
  391. package/dist/rendering/ProceduralTexture.js +336 -0
  392. package/dist/rendering/ProceduralTexture.js.map +1 -0
  393. package/dist/rendering/ProductTurntable.d.ts +96 -0
  394. package/dist/rendering/ProductTurntable.d.ts.map +1 -0
  395. package/dist/rendering/ProductTurntable.js +639 -0
  396. package/dist/rendering/ProductTurntable.js.map +1 -0
  397. package/dist/rendering/RenderDevice.d.ts +30 -0
  398. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  399. package/dist/rendering/RenderDevice.js.map +1 -1
  400. package/dist/rendering/Renderer.d.ts +28 -4
  401. package/dist/rendering/Renderer.d.ts.map +1 -1
  402. package/dist/rendering/Renderer.js +34 -12
  403. package/dist/rendering/Renderer.js.map +1 -1
  404. package/dist/rendering/RendererPostprocessPlan.js +4 -4
  405. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  406. package/dist/rendering/ScreenSpaceLineMaterial.js +1 -1
  407. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -1
  408. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  409. package/dist/rendering/ShaderChunks.js +81 -19
  410. package/dist/rendering/ShaderChunks.js.map +1 -1
  411. package/dist/rendering/ShaderLibrary.d.ts +2 -78
  412. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  413. package/dist/rendering/ShaderLibrary.js +127 -793
  414. package/dist/rendering/ShaderLibrary.js.map +1 -1
  415. package/dist/rendering/ShaderLibraryCore.d.ts +100 -0
  416. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -0
  417. package/dist/rendering/ShaderLibraryCore.js +800 -0
  418. package/dist/rendering/ShaderLibraryCore.js.map +1 -0
  419. package/dist/rendering/ShaderModule.d.ts +1 -1
  420. package/dist/rendering/ShaderModule.d.ts.map +1 -1
  421. package/dist/rendering/ShaderModule.js +4 -2
  422. package/dist/rendering/ShaderModule.js.map +1 -1
  423. package/dist/rendering/ShadowPass.d.ts +1 -1
  424. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  425. package/dist/rendering/ShadowPass.js +6 -4
  426. package/dist/rendering/ShadowPass.js.map +1 -1
  427. package/dist/rendering/SkinnedLitMaterial.js +1 -1
  428. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  429. package/dist/rendering/SkinnedUnlitMaterial.js +1 -1
  430. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  431. package/dist/rendering/SpaceEnvironment.d.ts +54 -0
  432. package/dist/rendering/SpaceEnvironment.d.ts.map +1 -0
  433. package/dist/rendering/SpaceEnvironment.js +116 -0
  434. package/dist/rendering/SpaceEnvironment.js.map +1 -0
  435. package/dist/rendering/TerrainHeightfield.d.ts +60 -0
  436. package/dist/rendering/TerrainHeightfield.d.ts.map +1 -0
  437. package/dist/rendering/TerrainHeightfield.js +239 -0
  438. package/dist/rendering/TerrainHeightfield.js.map +1 -0
  439. package/dist/rendering/TextureBinding.d.ts +14 -0
  440. package/dist/rendering/TextureBinding.d.ts.map +1 -1
  441. package/dist/rendering/TextureBinding.js +17 -0
  442. package/dist/rendering/TextureBinding.js.map +1 -1
  443. package/dist/rendering/TexturedPBRMaterial.js +1 -1
  444. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  445. package/dist/rendering/TexturedUnlitMaterial.js +1 -1
  446. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  447. package/dist/rendering/UnlitMaterial.js +1 -1
  448. package/dist/rendering/UnlitMaterial.js.map +1 -1
  449. package/dist/rendering/VegetationFixtures.d.ts +1 -1
  450. package/dist/rendering/VegetationFixtures.d.ts.map +1 -1
  451. package/dist/rendering/VegetationFixtures.js +1 -1
  452. package/dist/rendering/VegetationFixtures.js.map +1 -1
  453. package/dist/rendering/VegetationScatter.d.ts +68 -0
  454. package/dist/rendering/VegetationScatter.d.ts.map +1 -0
  455. package/dist/rendering/VegetationScatter.js +241 -0
  456. package/dist/rendering/VegetationScatter.js.map +1 -0
  457. package/dist/rendering/VoxelWorld.d.ts +51 -0
  458. package/dist/rendering/VoxelWorld.d.ts.map +1 -0
  459. package/dist/rendering/VoxelWorld.js +183 -0
  460. package/dist/rendering/VoxelWorld.js.map +1 -0
  461. package/dist/rendering/Weather.d.ts +44 -0
  462. package/dist/rendering/Weather.d.ts.map +1 -0
  463. package/dist/rendering/Weather.js +140 -0
  464. package/dist/rendering/Weather.js.map +1 -0
  465. package/dist/rendering/WebGL2Device.d.ts +22 -0
  466. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  467. package/dist/rendering/WebGL2Device.js +134 -23
  468. package/dist/rendering/WebGL2Device.js.map +1 -1
  469. package/dist/rendering/WebGPUDevice.d.ts +19 -2
  470. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  471. package/dist/rendering/WebGPUDevice.js +188 -9
  472. package/dist/rendering/WebGPUDevice.js.map +1 -1
  473. package/dist/rendering/index.d.ts +28 -35
  474. package/dist/rendering/index.d.ts.map +1 -1
  475. package/dist/rendering/index.js +36 -20
  476. package/dist/rendering/index.js.map +1 -1
  477. package/dist/rendering/lean/LeanProductRenderer.d.ts +29 -0
  478. package/dist/rendering/lean/LeanProductRenderer.d.ts.map +1 -0
  479. package/dist/rendering/lean/LeanProductRenderer.js +38 -0
  480. package/dist/rendering/lean/LeanProductRenderer.js.map +1 -0
  481. package/dist/rendering/lean/LeanProductionRenderer.d.ts +38 -0
  482. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -0
  483. package/dist/rendering/lean/LeanProductionRenderer.js +88 -0
  484. package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -0
  485. package/dist/rendering/lean-runtime.d.ts +18 -0
  486. package/dist/rendering/lean-runtime.d.ts.map +1 -0
  487. package/dist/rendering/lean-runtime.js +13 -0
  488. package/dist/rendering/lean-runtime.js.map +1 -0
  489. package/dist/rendering/postprocess/EffectComposer.d.ts.map +1 -1
  490. package/dist/rendering/postprocess/EffectComposer.js +1 -3
  491. package/dist/rendering/postprocess/EffectComposer.js.map +1 -1
  492. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  493. package/dist/rendering/production-runtime/PBRHDRPipeline.js +5 -1
  494. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  495. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +9 -0
  496. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  497. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  498. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +5 -0
  499. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  500. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +53 -5
  501. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  502. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +10 -0
  503. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  504. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +21 -2
  505. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  506. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  507. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +4 -1
  508. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  509. package/dist/rendering/webgpu-device-entry.d.ts +25 -0
  510. package/dist/rendering/webgpu-device-entry.d.ts.map +1 -0
  511. package/dist/rendering/webgpu-device-entry.js +24 -0
  512. package/dist/rendering/webgpu-device-entry.js.map +1 -0
  513. package/dist/rendering/webgpu.d.ts +25 -0
  514. package/dist/rendering/webgpu.d.ts.map +1 -0
  515. package/dist/rendering/webgpu.js +24 -0
  516. package/dist/rendering/webgpu.js.map +1 -0
  517. package/dist/scene/MathTypes.d.ts +1 -0
  518. package/dist/scene/MathTypes.d.ts.map +1 -1
  519. package/dist/scene/MathTypes.js +3 -0
  520. package/dist/scene/MathTypes.js.map +1 -1
  521. package/dist/scene/Renderable.d.ts +6 -0
  522. package/dist/scene/Renderable.d.ts.map +1 -1
  523. package/dist/scene/Renderable.js +8 -2
  524. package/dist/scene/Renderable.js.map +1 -1
  525. package/dist/scripting/index.d.ts +0 -16
  526. package/dist/scripting/index.d.ts.map +1 -1
  527. package/dist/scripting/index.js +0 -8
  528. package/dist/scripting/index.js.map +1 -1
  529. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +2 -2
  530. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts.map +1 -1
  531. package/dist/workflows/production-runtime/ProductionExampleRuntime.js +2 -2
  532. package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -1
  533. package/package.json +243 -127
  534. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
  535. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
  536. package/templates/cinematic-scene/package.json +1 -1
  537. package/templates/cinematic-scene/test-results/.last-run.json +6 -0
  538. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
  539. package/templates/mini-game/README.md +3 -2
  540. package/templates/mini-game/package.json +1 -1
  541. package/templates/mini-game/src/aura-assets.ts +1 -1
  542. package/templates/mini-game/src/main.ts +69 -141
  543. package/templates/product-viewer/README.md +7 -5
  544. package/templates/product-viewer/index.html +1 -1
  545. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
  546. package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
  547. package/templates/product-viewer/package.json +1 -1
  548. package/templates/product-viewer/src/aura-assets.ts +1 -1
  549. package/templates/product-viewer/src/main.ts +29 -23
package/README.md CHANGED
@@ -32,11 +32,11 @@ npx @aura3d/cli@latest assets add ./assets/sneaker.glb --name sneaker
32
32
  Render it from normal TypeScript:
33
33
 
34
34
  ```ts
35
- import { createAuraApp, lights, model, scene } from "@aura3d/engine";
35
+ import { createAuraApp, environments, model, scene } from "@aura3d/lean/product";
36
36
  import { assets } from "./aura-assets";
37
37
 
38
38
  createAuraApp("#app", {
39
- scene: scene().add(model(assets.sneaker)).add(lights.studio())
39
+ scene: scene().add(model(assets.sneaker)).add(environments.studio())
40
40
  });
41
41
  ```
42
42
 
@@ -72,6 +72,9 @@ developer can keep owning after the AI has written the first pass.
72
72
 
73
73
  ## Packages
74
74
 
75
+ - `@aura3d/lean`: recommended browser runtime for lean core, typed-product,
76
+ and deterministic arcade workloads without physics, navigation, editor, or
77
+ Node-media dependencies.
75
78
  - `@aura3d/engine`: public TypeScript runtime for browser 3D scenes and apps.
76
79
  - `create-aura3d`: one-command Vite scaffolds for Aura3D projects.
77
80
  - `@aura3d/cli`: typed GLB/glTF asset workflow, catalog search, validation,
@@ -87,55 +90,64 @@ repo. The claim-boundary and release evidence docs live under `docs/` for teams
87
90
  that need strict publication review, but the developer path starts here: create
88
91
  an app, add typed assets, run it, test it, deploy it.
89
92
 
90
- ## Current Release: Aura3D 1.5.1
91
-
92
- Aura3D 1.5.1 is the current source release across all 26 public packages. This is a
93
- **product-remediation release**: three reported interaction defects and four reported
94
- game-runtime defects were root-caused at the library level and fixed with reusable
95
- systems, each backed by unit tests and a runtime probe rather than by a screenshot.
96
-
97
- ### What shipped in 1.5.1
98
-
99
- - **Focus and selection (`focusObject`, `focusSemanticRegion`).** A focus indicator
100
- rendered as a flat bar because Aura3D's torus is a ring in local **XY** with its tube
101
- on **Z**, and a route scaled its ring-plane radius instead of its tube. The axis
102
- convention is now published as `AURA_PRIMITIVE_AXES`, and indicator correctness is
103
- asserted per result — circular in its own plane, thinned on the tube axis, enclosing
104
- its target, callout outside it.
105
- - **World-anchored labels.** `labels.callout(...)` produced a valid node that nothing
106
- drew: label rendering lived only in the canvas2d fallback, while every route with a
107
- typed GLB takes the production WebGL2 path. Evidence counted label *nodes*, so reports
108
- stayed green while the screen showed none. There is now a real screen-space label layer
109
- in the production path, and `AuraDiagnostics.labels` reports what was actually placed.
110
- - **Asset-relative layout (`SpatialAnchoring`).** `placedBoundsFromAsset`, 19 bounds
111
- anchors, normalized semantic regions, deterministic distribution and
112
- `checkSpatialInvariants` replace literal helper coordinates that stopped matching their
113
- asset.
114
- - **Vehicle chassis and AI driving.** A car pinned to a literal height cannot respond to
115
- the road; `createVehicleChassis` resolves contact, suspension and attitude from four
116
- contact points, deriving geometry from the asset's own bounds.
117
- `createVehicleDriverAi` steers toward a look-ahead point on the racing line with
118
- curvature-based corner speeds, so it turns into a corner rather than after it.
119
- - **Platformer motion solving.** `solvePlatformerMotion` derives gravity, jump velocity
120
- and move speed from a level's own platform geometry; `validatePlatformerMotion` refuses
121
- tuning inconsistent with it. A shipped level had a 5.76x jump overshoot that passed
122
- every gate because the level was *solvable*.
123
- - **Frame-based combat.** `solveCombatFrameData` and `validateCombatFrameData` validate
124
- frame data *as* frame data. A shipped move table had 12–32 active frames against 4–5
125
- recovery, inverted from any real fighting game, so every move was safe on block.
126
- - **Application kits.** Five reusable kits — product configurator, digital twin,
127
- architecture, smart city, cinematic. Each publishes a `capabilities` report naming what
128
- it deliberately does **not** own.
129
- - **Scene queries.** Raycasts, sphere casts and ground probes reachable from the public
130
- API; previously implemented in `@aura3d/physics` and unreachable from a route.
93
+ ## Current Release: Aura3D 2.0.0
94
+
95
+ Aura3D 2.0.0 is the current source release candidate across the release-line
96
+ packages. It is a major-version competitive replatform: public authoring is
97
+ centered on typed assets and the safe root API, commodity subsystems have one
98
+ declared owner, duplicate or misleading public hosts have been internalized,
99
+ and every retained example is subject to separate canvas and full-page review.
100
+ It has not yet been published to npm or promoted as a completed universal
101
+ Three.js replacement.
102
+
103
+ ### What ships in 2.0.0
104
+
105
+ - **One public owner per capability.** Duplicate product, material, character,
106
+ physics, shadow, HDR, WebGPU, editor-output, and contract-only hosts are no
107
+ longer presented as separate public products. Reusable implementation and
108
+ browser contracts remain testable through internal fixtures.
109
+ - **Typed real assets on public routes.** Named characters and products use
110
+ manifest-backed GLB assets. Primitive-only, Canvas2D, CSS, raw-URL, and
111
+ screenshot-only substitutes are not accepted as proof of rendered subjects.
112
+ - **Retained examples are explicitly bounded.** Character Animation Viewer and
113
+ Product Configurator are real-asset public workflows. Material Showroom,
114
+ Postprocess Lab, Renderer Stress Lab, Large Scene, particles, raycast/CCD, and
115
+ state-machine routes are labeled diagnostics rather than inflated into game,
116
+ production-renderer, WebGPU, or ecosystem-parity claims.
117
+ - **Visual defects are release defects.** The audit has corrected clipped and
118
+ aspect-distorted material swatches, low-resolution postprocess enlargement,
119
+ non-presenting large-scene frames, unconstrained telemetry pages, unreadable
120
+ stress framing, obscuring overlays, and PBR variant geometry/framing. A route
121
+ is accepted only after its current source, canvas image, and full-page image
122
+ are reviewed together.
123
+ - **Current comparison target.** Historical `three@0.165.0` receipts remain
124
+ historical. The 2.0 program locks current comparison work to
125
+ `three@0.185.1` and requires same-workload, same-asset evidence; unfinished
126
+ rows stay unfinished instead of being generalized into parity.
127
+ - **Release remains gated.** npm/GitHub publication, website promotion, and
128
+ deprecation of older releases happen only after the final PRD gates pass.
129
+ See `1.6-FINAL-PRD-Finishes.md` for the live evidence ledger.
130
+
131
+ ### Consolidated 2.0 outcomes
132
+
133
+ Earlier minor-release implementation notes have been consolidated into the 2.0 architecture, migration, API, and evidence documentation. Git history retains the original release narratives.
131
134
 
132
135
  ### Measured
133
136
 
134
- - **87 of 87** public controls and **47 of 47** keyboard bindings verified *by operation*
135
- across 13 routes, with zero console errors.
136
- - **21 of 21** combined quality gates pass with **zero unproven**. Missing evidence is
137
- reported as `unproven`, never as a pass.
138
- - **2903 of 2904** unit and integration tests, identical across two serial runs.
137
+ - **149 of 149** source-template checks and **149 of 149** clean exact-tarball
138
+ lifecycle checks pass across all **19** public scaffolds. Each lifecycle proves
139
+ install, typecheck, production build, browser load, meaningful interaction,
140
+ static preview, screenshot, route health, and deploy behavior against the packed
141
+ 2.0.0 dependency graph. Source: `tests/reports/agent-templates.json` and
142
+ `tests/reports/installed-template-lifecycle.json`.
143
+ - **15 of 15** bounded same-workload comparisons pass from freshly packed and
144
+ installed Aura3D 2.0.0 tarballs against repository-locked `three@0.185.1`.
145
+ Individual visual differences and capability boundaries remain part of the
146
+ result; this is not a universal ecosystem-parity claim. The exact migration
147
+ consumer is recorded in `tests/reports/packed-migration-consumer.json`.
148
+ - The retained package, architecture, route-health, parity, superiority, and
149
+ documentation gates pass individually; the two required final serial release
150
+ runs remain pending until the human visual-review gate is recorded.
139
151
  - Clean-room projects against the public surface only: **137 / 142 / 122 / 99** authored
140
152
  lines against budgets of 200 / 200 / 300 / 300; one package imported each; **zero**
141
153
  private imports.
@@ -145,37 +157,81 @@ systems, each backed by unit tests and a runtime probe rather than by a screensh
145
157
 
146
158
  Stated because a release note that omits this is not useful:
147
159
 
148
- - `showcase-blockfall-reactor`, `showcase-skyline-runner` and
149
- `showcase-turbo-drift-circuit` remain **prototype-blocked**. Their physics and frame
150
- data are correct; whether they are good games is a judgement their visual review has
151
- not yet made.
160
+ - **The recommended narrow entries now meet all three comparative bundle budgets.** Measured
161
+ 2026-08-08 by `tools/bundle-scenarios` against real Three.js builds of the same scene, through
162
+ one shared bundler config. The compatibility-heavy root still exists for upgrades and is not
163
+ presented as the smallest new-app import:
164
+
165
+ | Scenario | Aura3D | Three.js | Ratio | Budget |
166
+ | --- | --- | --- | --- | --- |
167
+ | Core primitive scene (one cube) | 69,024 B | 118,603 B | **0.582x** | 1.25x |
168
+ | Product viewer (glTF, PBR, orbit, IBL) | 182,144 B | 145,978 B | **1.248x** | 1.25x |
169
+ | Game runtime (input, physics, loop) | 118,765 B | 142,809 B | **0.832x** | 1.50x |
170
+
171
+ These historical budgets were derived from the measured `three@0.165.0`
172
+ equivalents. Browser proof executes the core, real-GLB product, and input + shared
173
+ production-physics game paths through `tests/browser/lean-entry-runtime.spec.ts`.
174
+ - **Where Aura3D won in the frozen `three@0.165.0` scenarios:** authored lines
175
+ **9 / 14 / 19** against Three.js's **15 / 27 / 40**, and one install instead of two for
176
+ a game runtime. Across seven product workflows the gap is wider — 15 vs 74 lines for a
177
+ product configurator, 10 vs 68 for glTF asset review. TypeScript compile time is
178
+ effectively tied or faster in the current three-process median measurement
179
+ (653 vs 651 ms; 628 vs 676 ms; 642 vs 662 ms). Runtime construction through
180
+ the first verified non-blank browser frame measured **24.1 ms vs 33.8 ms**, excluding download
181
+ and module evaluation. Isolated install-to-verified-cube medians were slower for Aura3D:
182
+ **6,638.6 vs 5,047.9 ms cold** and **3,199.5 vs 2,297.7 ms warm**, across three fresh projects per
183
+ engine and cache state. Full raw samples and methodology:
184
+ `tests/reports/developer-friction.json`.
185
+ - `showcase-blockfall-reactor`, `showcase-skyline-runner`, and
186
+ `showcase-turbo-drift-circuit` have materially rebuilt gameplay and current
187
+ automated route evidence, but remain **promotion-blocked pending independent
188
+ review of the exact final artifacts**. None of that review converts Turbo's
189
+ authored-unit arcade contract into physical tyre or vehicle-dynamics proof.
152
190
  - `aura-clash-showcase` is **not in the route-gate registry**, so showcase-wide gates do
153
191
  not cover it. It carries its own 23-spec suite.
154
192
  - `@aura3d/engine-runtime` still declares 322 exports duplicating other packages; 51
155
193
  exported symbol names have more than one owning package.
156
- - Five physics capabilities remain unreachable from the public API: penetration
157
- resolution, friction, restitution, constraints, continuous collision detection.
158
- - Practical Three.js ecosystem parity is **6 exceed / 37 parity / 10 unproven / 3 gap**
159
- across 56 capabilities. Aura3D is behind on ecosystem breadth, shader authoring
160
- through the safe API, 3D text, and LOD/instancing exposure.
161
-
162
- Full ledger and final report: `docs/project/plans/aura3d-product-remediation-prd.md`.
194
+ - The current public `examples/` inventory contains **13 retained routes** after
195
+ duplicate, contract-only, or visually rejected hosts were internalized. The
196
+ clean 2026-08-09 source/canvas/full-page audit passed all 13 with no filtered
197
+ failure list; material, postprocess, and large-scene differences remain
198
+ disclosed rather than being converted into a blanket parity claim.
199
+ - The historical `three@0.165.0` comparisons cover **54 selected example-level rows**, all
200
+ matched by the generated inventory with **0 high-priority rows open**. This is a
201
+ bounded compatibility and migration result, not a claim that Aura3D universally
202
+ replaces the Three.js ecosystem or that every feature is exposed through the root
203
+ safe API. See `docs/project/threejs-superiority-status.md` and the generated
204
+ `tests/reports/superiority/claim-defense.json` decision.
205
+
206
+ ### Why Aura3D can beat Three.js in scoped workflows
207
+
208
+ Aura3D's historical measured advantage is the integrated product workflow: the frozen `three@0.165.0` bundle and
209
+ developer-friction scenarios above use fewer authored lines, fewer direct dependencies,
210
+ and narrower entry points while retaining browser-rendered evidence. Visual quality,
211
+ animation, physics, lifecycle, and migration conclusions remain limited to the named
212
+ fixtures, routes, assets, browsers, and thresholds in those reports. Universal engine or
213
+ ecosystem superiority is not claimed.
214
+
215
+ The current product boundary and evidence are documented in
216
+ `docs/project/status/current-state.md` and
217
+ `docs/project/verification-evidence.md`.
163
218
 
164
219
  Install after the npm publication completes:
165
220
 
166
221
  ```bash
167
- npm install @aura3d/engine@1.5.1
222
+ npm install @aura3d/engine@2.0.0
168
223
  # or scaffold an app
169
- npx create-aura3d@1.5.1 my-product --template product-viewer
224
+ npx create-aura3d@2.0.0 my-product --template product-viewer
170
225
  ```
171
226
 
172
- Detailed release notes are in
173
- [`docs/project/aura3d-145-release-notes.md`](docs/project/aura3d-145-release-notes.md),
174
- with retained claim boundaries and release evidence under `docs/project/`.
227
+ The current 2.0 candidate notes are in
228
+ [`docs/project/aura3d-200-release-notes.md`](docs/project/aura3d-200-release-notes.md),
229
+ with the executable migration guide in [`MIGRATION-2.0.md`](MIGRATION-2.0.md)
230
+ and retained claim boundaries and release evidence under `docs/project/`.
175
231
 
176
- ## Aura3D 1.1.0 asset catalog
232
+ ## Aura3D 2.0 asset catalog
177
233
 
178
- Aura3D 1.1.0 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
234
+ Aura3D 2.0 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
179
235
 
180
236
  ```bash
181
237
  npx @aura3d/cli@latest assets search "battle-worn knight helmet"
@@ -193,9 +249,9 @@ npx @aura3d/cli@latest assets validate-game --profile fighting-character --asset
193
249
  ```
194
250
 
195
251
  `--profile fighting-character` requires animated GLB candidates from verified CC0/CC-BY sources, applies a browser-sized triangle budget, and writes source URL, license, author/attribution, and source family into `aura.assets.json` during `assets resolve`.
196
- ## Aura3D 1.1.0 runtime launch track
252
+ ## Aura3D 2.0 runtime launch track
197
253
 
198
- Aura3D 1.1.0 introduced the runtime and animation evidence foundation; 1.5.1 is
254
+ Aura3D 2.0 introduced the runtime and animation evidence foundation; 2.0.0 is
199
255
  the current package release that carries it forward:
200
256
 
201
257
  - `game runtime`: mutable runtime nodes, app-owned frame loops, input, kinematic bodies, hitboxes, combat events, camera direction, effects, and evidence for browser-native game prototypes.
@@ -203,7 +259,8 @@ the current package release that carries it forward:
203
259
  - `prompt animation`: `npx create-aura3d@latest my-episode --template prompt-animation-channel` scaffolds structured episode plans, storyboards, shot timelines, captions, visemes, render queues, and evidence for prompt-authored animation/video workflows. The shorter `animation-channel` template name remains supported.
204
260
  - `AuraVoice bridge`: AuraVoice owns script/audio/caption/viseme timing; Aura3D owns typed scene generation, character performance, camera choreography, rendering, screenshots, and visual evidence.
205
261
 
206
- Aura Clash remains a development showcase, not a polished flagship claim.
262
+ Aura Clash remains a development showcase pending exact-artifact approval, not
263
+ an automatically approved polished flagship claim.
207
264
  Historical runtime, screenshot, route, GLB, package-smoke, and deployment
208
265
  receipts do not replace current gameplay, visual, asset, audio, performance,
209
266
  and documentation gates.
@@ -266,7 +323,9 @@ The showcase currently targets:
266
323
  - arcade movement, hitboxes, guard state, meter, AI pressure, and results;
267
324
  - evidence routes, accessibility settings, poster capture, Playwright contracts, sitemap and robots integration, and marketing homepage placement.
268
325
 
269
- Open the source route at `apps/aura-clash-showcase/`. Treat the current route as a development showcase until the 1.1.0 gameplay, visual, asset, audio, performance, deployment, and docs-claim gates pass.
326
+ Open the source route at `apps/aura-clash-showcase/`. Treat the current route as
327
+ a development showcase until the current 2.0 gameplay, visual, asset, audio,
328
+ performance, deployment, docs-claim, and independent-review gates pass.
270
329
 
271
330
  ## Animation Studio — prompt → rendered short
272
331
 
@@ -311,7 +370,7 @@ createAuraApp("#app", {
311
370
 
312
371
  The safe API uses generated refs such as `assets.robot`. Do not write `model("robot")`, hand-written GLB URLs, or invented asset ids.
313
372
 
314
- ## Aura3D 1.1.0 game runtime example
373
+ ## Aura3D 2.0 game runtime example
315
374
 
316
375
  Add typed assets before writing model code:
317
376
 
@@ -436,7 +495,7 @@ const evidence = app.evidence({
436
495
  console.log(touchLayout.controls.length, replayDriver.snapshot(), overlay.sections, evidence.systems);
437
496
  ```
438
497
 
439
- ## Aura3D 1.1.0 prompt-animation and AuraVoice example
498
+ ## Aura3D 2.0 prompt-animation and AuraVoice example
440
499
 
441
500
  Prompt-animation routes use typed assets, contract artifacts, shot playback, captions, visemes, and AuraVoice timing packages.
442
501
 
@@ -631,7 +690,7 @@ pnpm run check:release
631
690
 
632
691
  Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
633
692
 
634
- Aura3D 1.1.0 route-specific readiness commands:
693
+ Aura3D 2.0 route-specific readiness commands:
635
694
 
636
695
  ```bash
637
696
  npx @aura3d/cli@latest assets validate-game
@@ -649,21 +708,21 @@ pnpm prompt-animation:release
649
708
 
650
709
  Do not mark a game, prompt-animation, or AuraVoice route launch-ready from source evidence alone. Asset readiness, package smoke, browser route health, deterministic screenshots, visual review, accessibility proof, and deployment checks must also pass.
651
710
 
652
- Aura3D 1.1.0 game-engine/showcase readiness is stricter:
711
+ Aura3D 2.0 game-engine/showcase readiness is stricter:
653
712
 
654
713
  ```bash
655
714
  pnpm aura3d110:readiness
656
715
  ```
657
716
 
658
- Expected current state — The scoped package gates pass for the 1.5.1 baseline,
659
- but the current route-library gate is deliberately non-passing until independent
660
- review is current. Blockfall Reactor, Turbo Drift Circuit, and Skyline Runner are
661
- prototype-blocked during visual reconstruction; their typed assets, mounted
662
- gameplay, and bounded route evidence are technical proof, not current visual
663
- approval. Aura Clash is tracked separately as a development showcase; two
664
- internal diagnostics and two game-layer diagnostic harnesses remain outside
665
- the configured public count. Comparative performance/parity promotion
666
- remains unavailable while six required performance reports are missing.
717
+ Expected current state — The 2.0.0 package candidate and exact installed-package
718
+ comparison against `three@0.185.1` pass their bounded local checks across 15
719
+ workloads. That comparison is not a universal parity claim: clean-machine,
720
+ repeated-performance, independent-human, publication, and production-origin
721
+ gates remain open. Blockfall Reactor, Turbo Drift Circuit, and
722
+ Skyline Runner remain `prototype-blocked`; their typed assets, mounted gameplay,
723
+ and bounded route evidence are technical proof, not promotion. Aura Clash is
724
+ tracked separately as a development showcase. The former `three@0.165.0`
725
+ comparison is historical only; no broad parity or replacement claim is made.
667
726
 
668
727
  ## Contributing
669
728
 
@@ -1,5 +1,14 @@
1
1
  import type { Vec3 } from "./Keyframe.js";
2
- import type { FootIkSample } from "./SecondaryAnimationFixtures.js";
2
+ /** Runtime foot-placement telemetry for one leg. */
3
+ export interface FootIkSample {
4
+ readonly side: "left" | "right";
5
+ readonly sourceFoot: Vec3;
6
+ readonly plantedFoot: Vec3;
7
+ readonly groundNormal: Vec3;
8
+ readonly grounded: boolean;
9
+ readonly verticalCorrection: number;
10
+ readonly targetError: number;
11
+ }
3
12
  /** Result of a downward ground query: where the ground is and its surface normal. */
4
13
  export interface GroundSample {
5
14
  readonly point: Vec3;
@@ -1 +1 @@
1
- {"version":3,"file":"FootIk.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/FootIk.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,eAAe,CAS9H;AAED,wFAAwF;AACxF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,oCAAoC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kGAAkG;IAClG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kGAAkG;IAClG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAOD,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;KAAE,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAChH,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1C,8DAA8D;IAC9D,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA4CpE"}
1
+ {"version":3,"file":"FootIk.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/FootIk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FootIk.js","sourceRoot":"","sources":["../../../../packages/animation/src/FootIk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FootIk.js","sourceRoot":"","sources":["../../../../packages/animation/src/FootIk.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,oGAAoG;AACpG,+FAA+F;AAC/F,kGAAkG;AAClG,kDAAkD;AAClD,EAAE;AACF,qGAAqG;AACrG,8FAA8F;AAC9F,mGAAmG;AACnG,kEAAkE;AAElE,OAAO,EAAE,cAAc,EAAwB,MAAM,SAAS,CAAC;AA0B/D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAqE;IAC3G,OAAO;QACL,WAAW,CAAC,MAAY,EAAE,WAAmB;YAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACpC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,WAAW;gBAAE,OAAO,SAAS,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1F,CAAC;KACF,CAAC;AACJ,CAAC;AAgED,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IACpD,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IAExD,SAAS,OAAO,CAAC,IAAsB;QACrC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,kBAAkB,CAAC,IAAI,EAAE,WAAW;YAClC,MAAM,SAAS,GAAG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;YACnD,IAAI,IAAI,EAAE,IAAI;gBAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC/G,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACxF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;QACvE,CAAC;QACD,QAAQ,CAAC,IAAI;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC;QAC1C,CAAC;QACD,KAAK;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AASD,SAAS,QAAQ,CAAC,GAAiB,EAAE,IAAkB,EAAE,SAA0B,EAAE,MAAmB;IACtG,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAClC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EACxE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAC9C,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,kGAAkG;QAClG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvB,QAAQ,EAAE,KAAK;gBACf,kBAAkB,EAAE,CAAC;gBACrB,WAAW,EAAE,CAAC;aACf;YACD,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAC3D,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,iBAAiB,IAAI,MAAM,CAAC,cAAc,CAAC;IAE5D,IAAI,MAAY,CAAC;IACjB,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,oEAAoE;YACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,2FAA2F;QAC3F,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,kGAAkG;IAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,iBAAiB,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAoB,cAAc,CAAC;QAC7C,IAAI,EAAE,GAAG,CAAC,GAAG;QACb,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,GAAG,EAAE,GAAG,CAAC,KAAK;QACd,MAAM;QACN,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACtD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC;YACjC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;YAC7B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,QAAQ;YAClB,kBAAkB;YAClB,WAAW;SACZ;QACD,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAW;IAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -72,7 +72,7 @@ export function analyzeHumanoidRig(rig, options = {}) {
72
72
  diagnostics.push({
73
73
  severity: "warning",
74
74
  code: "HUMANOID_SIDE_ASYMMETRY",
75
- message: `Humanoid side pair "${pair.left}" and "${pair.right}" is incomplete.`,
75
+ message: `Humanoid side pair "${pair.left}" and "${pair.right}" is asymmetric.`,
76
76
  rigId: rig.id,
77
77
  bone: left ? pair.right : pair.left
78
78
  });
@@ -6,7 +6,7 @@ import { type HumanoidRigDefinition } from "./HumanoidRetargeting.js";
6
6
  * legs + feet. Safe for the full performance vocabulary (gesture, point, walk/run, foot work).
7
7
  * - **B** — partial humanoid: enough of the body to act (spine/head + both arms or both legs) but
8
8
  * missing limbs/extremities; the director should avoid the motions that need the missing chain.
9
- * - **C** — mascot / sparse (~8 mappable nodes): a torso + head + stub arms; head/torso acting only,
9
+ * - **C** — mascot / sparse (~8 mappable nodes): a torso + head + short arms; head/torso acting only,
10
10
  * no real limb motion.
11
11
  * - **D** — not suitable for body acting: no usable skeleton (root/props only).
12
12
  */
@@ -54,9 +54,9 @@ export function gradeRig(rig) {
54
54
  if ((hasSpine || hasHead) && (usableArms || usableLegs) && mappedBoneCount >= 10) {
55
55
  reasons.push("partial humanoid: body acting possible but a limb chain or extremities are missing (B)");
56
56
  if (!fullUpperBody)
57
- reasons.push("incomplete upper body (forearms/hands/neck)");
57
+ reasons.push("upper body lacks forearms/hands/neck");
58
58
  if (!fullLowerBody)
59
- reasons.push("incomplete lower body (lower legs/feet)");
59
+ reasons.push("lower body lacks lower legs/feet");
60
60
  return { grade: "B", reasons, hasLegs, hasKnees, hasAnkles, hasFeet, mappedBoneCount };
61
61
  }
62
62
  // --- C: mascot / sparse -----------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"RigQuality.js","sourceRoot":"","sources":["../../../../packages/animation/src/RigQuality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RigQuality.js","sourceRoot":"","sources":["../../../../packages/animation/src/RigQuality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Vec3 } from "./Keyframe";
2
+ export interface SecondaryAnimationFixtureOptions {
3
+ readonly stridePhase?: number;
4
+ readonly rootHeight?: number;
5
+ readonly velocity?: Vec3;
6
+ readonly terrainSlope?: number;
7
+ readonly deltaSeconds?: number;
8
+ readonly seed?: number;
9
+ }
10
+ export interface FootIkSample {
11
+ readonly side: "left" | "right";
12
+ readonly sourceFoot: Vec3;
13
+ readonly plantedFoot: Vec3;
14
+ readonly groundNormal: Vec3;
15
+ readonly grounded: boolean;
16
+ readonly verticalCorrection: number;
17
+ readonly targetError: number;
18
+ }
19
+ export interface SpringBoneSample {
20
+ readonly chainName: "ponytail";
21
+ readonly boneCount: number;
22
+ readonly stiffness: number;
23
+ readonly damping: number;
24
+ readonly collisionRadius: number;
25
+ readonly substeps: number;
26
+ readonly gravity: Vec3;
27
+ readonly wind: Vec3;
28
+ readonly rootPosition: Vec3;
29
+ readonly tipPosition: Vec3;
30
+ readonly maxDisplacement: number;
31
+ readonly collisionContacts: number;
32
+ }
33
+ export interface SecondaryAnimationFixture {
34
+ readonly source: "origin-master-foot-ik-spring-bone-adapted";
35
+ readonly footIk: {
36
+ readonly feet: readonly FootIkSample[];
37
+ readonly hipOffset: number;
38
+ readonly averageTargetError: number;
39
+ readonly groundedFeet: number;
40
+ readonly terrainSlope: number;
41
+ };
42
+ readonly springBone: SpringBoneSample;
43
+ readonly productionReadiness: {
44
+ readonly footPlacementTelemetry: boolean;
45
+ readonly hipAdjustmentTelemetry: boolean;
46
+ readonly springChainTelemetry: boolean;
47
+ readonly collisionTelemetry: boolean;
48
+ readonly deterministicReplay: boolean;
49
+ };
50
+ readonly hash: string;
51
+ readonly claimBoundary: string;
52
+ readonly blockedClaims: readonly string[];
53
+ }
54
+ export declare function sampleSecondaryAnimationFixture(options?: SecondaryAnimationFixtureOptions): SecondaryAnimationFixture;
55
+ //# sourceMappingURL=SecondaryAnimationSampling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecondaryAnimationSampling.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/SecondaryAnimationSampling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,2CAA2C,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;QACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;QACzC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;QACzC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,gCAAqC,GAAG,yBAAyB,CAmDzH"}