@aura3d/engine 1.5.2 → 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 (541) hide show
  1. package/README.md +142 -117
  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/VehicleChassis.d.ts +52 -0
  129. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  130. package/dist/engine/agent-api/VehicleChassis.js +182 -8
  131. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  132. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +65 -1
  133. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
  134. package/dist/engine/agent-api/WorldLabelRenderer.js +48 -5
  135. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
  136. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  137. package/dist/engine/agent-api/index.d.ts +206 -13
  138. package/dist/engine/agent-api/index.d.ts.map +1 -1
  139. package/dist/engine/agent-api/index.js +1388 -357
  140. package/dist/engine/agent-api/index.js.map +1 -1
  141. package/dist/engine/agent-api/lean-base.d.ts +224 -0
  142. package/dist/engine/agent-api/lean-base.d.ts.map +1 -0
  143. package/dist/engine/agent-api/lean-base.js +322 -0
  144. package/dist/engine/agent-api/lean-base.js.map +1 -0
  145. package/dist/engine/agent-api/lean-game.d.ts +3 -0
  146. package/dist/engine/agent-api/lean-game.d.ts.map +1 -0
  147. package/dist/engine/agent-api/lean-game.js +3 -0
  148. package/dist/engine/agent-api/lean-game.js.map +1 -0
  149. package/dist/engine/agent-api/lean-product.d.ts +3 -0
  150. package/dist/engine/agent-api/lean-product.d.ts.map +1 -0
  151. package/dist/engine/agent-api/lean-product.js +3 -0
  152. package/dist/engine/agent-api/lean-product.js.map +1 -0
  153. package/dist/engine/agent-api/lean.d.ts +3 -0
  154. package/dist/engine/agent-api/lean.d.ts.map +1 -0
  155. package/dist/engine/agent-api/lean.js +3 -0
  156. package/dist/engine/agent-api/lean.js.map +1 -0
  157. package/dist/engine/agent-api/media-node.d.ts +42 -0
  158. package/dist/engine/agent-api/media-node.d.ts.map +1 -0
  159. package/dist/engine/agent-api/media-node.js +44 -0
  160. package/dist/engine/agent-api/media-node.js.map +1 -0
  161. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  162. package/dist/engine/game/GameAudio.d.ts +5 -0
  163. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  164. package/dist/engine/game/GameAudio.js +65 -23
  165. package/dist/engine/game/GameAudio.js.map +1 -1
  166. package/dist/engine/production-runtime/TypedGLBActor.d.ts +9 -1
  167. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  168. package/dist/engine/production-runtime/TypedGLBActor.js +25 -7
  169. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  170. package/dist/engine/production-runtime/index.d.ts +2 -2
  171. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  172. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +3 -3
  173. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -1
  174. package/dist/environments/index.d.ts +5 -10
  175. package/dist/environments/index.d.ts.map +1 -1
  176. package/dist/environments/index.js +0 -3
  177. package/dist/environments/index.js.map +1 -1
  178. package/dist/environments/node.d.ts +7 -0
  179. package/dist/environments/node.d.ts.map +1 -0
  180. package/dist/environments/node.js +5 -0
  181. package/dist/environments/node.js.map +1 -0
  182. package/dist/index.d.ts +3 -0
  183. package/dist/index.js +3 -0
  184. package/dist/input/InputActionBinding.d.ts +44 -0
  185. package/dist/input/InputActionBinding.d.ts.map +1 -0
  186. package/dist/input/InputActionBinding.js +86 -0
  187. package/dist/input/InputActionBinding.js.map +1 -0
  188. package/dist/input/InputActionBindingFixtures.d.ts +8 -0
  189. package/dist/input/InputActionBindingFixtures.d.ts.map +1 -1
  190. package/dist/input/InputActionBindingFixtures.js +8 -0
  191. package/dist/input/InputActionBindingFixtures.js.map +1 -1
  192. package/dist/input/InputValueProcessors.d.ts +19 -0
  193. package/dist/input/InputValueProcessors.d.ts.map +1 -0
  194. package/dist/input/InputValueProcessors.js +24 -0
  195. package/dist/input/InputValueProcessors.js.map +1 -0
  196. package/dist/input/index.d.ts +2 -6
  197. package/dist/input/index.d.ts.map +1 -1
  198. package/dist/input/index.js +1 -3
  199. package/dist/input/index.js.map +1 -1
  200. package/dist/lean/ArcadeRuntime.d.ts +111 -0
  201. package/dist/lean/ArcadeRuntime.d.ts.map +1 -0
  202. package/dist/lean/ArcadeRuntime.js +219 -0
  203. package/dist/lean/ArcadeRuntime.js.map +1 -0
  204. package/dist/lean/base.d.ts +228 -0
  205. package/dist/lean/base.d.ts.map +1 -0
  206. package/dist/lean/base.js +322 -0
  207. package/dist/lean/base.js.map +1 -0
  208. package/dist/lean/game.d.ts +19 -0
  209. package/dist/lean/game.d.ts.map +1 -0
  210. package/dist/lean/game.js +37 -0
  211. package/dist/lean/game.js.map +1 -0
  212. package/dist/lean/index.d.ts +4 -0
  213. package/dist/lean/index.d.ts.map +1 -0
  214. package/dist/lean/index.js +10 -0
  215. package/dist/lean/index.js.map +1 -0
  216. package/dist/lean/product.d.ts +4 -0
  217. package/dist/lean/product.d.ts.map +1 -0
  218. package/dist/lean/product.js +55 -0
  219. package/dist/lean/product.js.map +1 -0
  220. package/dist/materials/index.d.ts +1 -10
  221. package/dist/materials/index.d.ts.map +1 -1
  222. package/dist/materials/index.js +1 -6
  223. package/dist/materials/index.js.map +1 -1
  224. package/dist/materials/node.d.ts +4 -0
  225. package/dist/materials/node.d.ts.map +1 -0
  226. package/dist/materials/node.js +3 -0
  227. package/dist/materials/node.js.map +1 -0
  228. package/dist/physics/ArcadeCharacterController.d.ts +53 -0
  229. package/dist/physics/ArcadeCharacterController.d.ts.map +1 -0
  230. package/dist/physics/ArcadeCharacterController.js +98 -0
  231. package/dist/physics/ArcadeCharacterController.js.map +1 -0
  232. package/dist/physics/ArcadeVehicleTelemetry.d.ts +162 -0
  233. package/dist/physics/ArcadeVehicleTelemetry.d.ts.map +1 -0
  234. package/dist/physics/ArcadeVehicleTelemetry.js +363 -0
  235. package/dist/physics/ArcadeVehicleTelemetry.js.map +1 -0
  236. package/dist/physics/CharacterController.d.ts +52 -0
  237. package/dist/physics/CharacterController.d.ts.map +1 -1
  238. package/dist/physics/CharacterController.js +380 -7
  239. package/dist/physics/CharacterController.js.map +1 -1
  240. package/dist/physics/Constraint.d.ts +20 -4
  241. package/dist/physics/Constraint.d.ts.map +1 -1
  242. package/dist/physics/Constraint.js +34 -60
  243. package/dist/physics/Constraint.js.map +1 -1
  244. package/dist/physics/FightingCharacterController.d.ts +32 -0
  245. package/dist/physics/FightingCharacterController.d.ts.map +1 -0
  246. package/dist/physics/FightingCharacterController.js +76 -0
  247. package/dist/physics/FightingCharacterController.js.map +1 -0
  248. package/dist/physics/MeshBVH.d.ts +72 -0
  249. package/dist/physics/MeshBVH.d.ts.map +1 -0
  250. package/dist/physics/MeshBVH.js +244 -0
  251. package/dist/physics/MeshBVH.js.map +1 -0
  252. package/dist/physics/PathFollowDriver.d.ts +162 -0
  253. package/dist/physics/PathFollowDriver.d.ts.map +1 -0
  254. package/dist/physics/PathFollowDriver.js +163 -0
  255. package/dist/physics/PathFollowDriver.js.map +1 -0
  256. package/dist/physics/PhysicsDebugDraw.d.ts +40 -1
  257. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  258. package/dist/physics/PhysicsDebugDraw.js +87 -17
  259. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  260. package/dist/physics/PhysicsWorld.d.ts +37 -18
  261. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  262. package/dist/physics/PhysicsWorld.js +231 -630
  263. package/dist/physics/PhysicsWorld.js.map +1 -1
  264. package/dist/physics/RacingLineProfile.d.ts +116 -0
  265. package/dist/physics/RacingLineProfile.d.ts.map +1 -0
  266. package/dist/physics/RacingLineProfile.js +181 -0
  267. package/dist/physics/RacingLineProfile.js.map +1 -0
  268. package/dist/physics/Raycast.d.ts +11 -0
  269. package/dist/physics/Raycast.d.ts.map +1 -1
  270. package/dist/physics/Raycast.js +62 -8
  271. package/dist/physics/Raycast.js.map +1 -1
  272. package/dist/physics/RigidBody.d.ts +16 -9
  273. package/dist/physics/RigidBody.d.ts.map +1 -1
  274. package/dist/physics/RigidBody.js +23 -75
  275. package/dist/physics/RigidBody.js.map +1 -1
  276. package/dist/physics/SurfaceQuery.d.ts +72 -0
  277. package/dist/physics/SurfaceQuery.d.ts.map +1 -0
  278. package/dist/physics/SurfaceQuery.js +89 -0
  279. package/dist/physics/SurfaceQuery.js.map +1 -0
  280. package/dist/physics/VehicleDynamics.d.ts +10 -0
  281. package/dist/physics/VehicleDynamics.d.ts.map +1 -1
  282. package/dist/physics/VehicleDynamics.js +31 -3
  283. package/dist/physics/VehicleDynamics.js.map +1 -1
  284. package/dist/physics/VehicleMotion.d.ts +125 -0
  285. package/dist/physics/VehicleMotion.d.ts.map +1 -0
  286. package/dist/physics/VehicleMotion.js +373 -0
  287. package/dist/physics/VehicleMotion.js.map +1 -0
  288. package/dist/physics/index.d.ts +62 -17
  289. package/dist/physics/index.d.ts.map +1 -1
  290. package/dist/physics/index.js +70 -17
  291. package/dist/physics/index.js.map +1 -1
  292. package/dist/physics/solverless-entry.d.ts +41 -0
  293. package/dist/physics/solverless-entry.d.ts.map +1 -0
  294. package/dist/physics/solverless-entry.js +40 -0
  295. package/dist/physics/solverless-entry.js.map +1 -0
  296. package/dist/physics/solverless.d.ts +37 -0
  297. package/dist/physics/solverless.d.ts.map +1 -0
  298. package/dist/physics/solverless.js +36 -0
  299. package/dist/physics/solverless.js.map +1 -0
  300. package/dist/physics/world-entry.d.ts +31 -0
  301. package/dist/physics/world-entry.d.ts.map +1 -0
  302. package/dist/physics/world-entry.js +30 -0
  303. package/dist/physics/world-entry.js.map +1 -0
  304. package/dist/physics/world.d.ts +18 -0
  305. package/dist/physics/world.d.ts.map +1 -0
  306. package/dist/physics/world.js +17 -0
  307. package/dist/physics/world.js.map +1 -0
  308. package/dist/physics-rapier/index.d.ts +169 -0
  309. package/dist/physics-rapier/index.d.ts.map +1 -0
  310. package/dist/physics-rapier/index.js +311 -0
  311. package/dist/physics-rapier/index.js.map +1 -0
  312. package/dist/product-studio/ProductLighting.d.ts.map +1 -1
  313. package/dist/product-studio/ProductLighting.js +34 -3
  314. package/dist/product-studio/ProductLighting.js.map +1 -1
  315. package/dist/rendering/ArchitecturalLighting.d.ts +35 -0
  316. package/dist/rendering/ArchitecturalLighting.d.ts.map +1 -0
  317. package/dist/rendering/ArchitecturalLighting.js +162 -0
  318. package/dist/rendering/ArchitecturalLighting.js.map +1 -0
  319. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +1 -1
  320. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -1
  321. package/dist/rendering/ArchitecturalMaterialCatalog.js +1 -1
  322. package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -1
  323. package/dist/rendering/ArchitecturalMeasurement.d.ts +27 -0
  324. package/dist/rendering/ArchitecturalMeasurement.d.ts.map +1 -0
  325. package/dist/rendering/ArchitecturalMeasurement.js +112 -0
  326. package/dist/rendering/ArchitecturalMeasurement.js.map +1 -0
  327. package/dist/rendering/CanonicalProductScene.d.ts +13 -0
  328. package/dist/rendering/CanonicalProductScene.d.ts.map +1 -0
  329. package/dist/rendering/CanonicalProductScene.js +78 -0
  330. package/dist/rendering/CanonicalProductScene.js.map +1 -0
  331. package/dist/rendering/CascadedShadowMaps.d.ts +1 -1
  332. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  333. package/dist/rendering/CascadedShadowMaps.js +1 -1
  334. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  335. package/dist/rendering/DepthPass.d.ts +1 -1
  336. package/dist/rendering/DepthPass.d.ts.map +1 -1
  337. package/dist/rendering/DepthPass.js +2 -2
  338. package/dist/rendering/DepthPass.js.map +1 -1
  339. package/dist/rendering/EnvironmentBackgroundPass.d.ts +1 -1
  340. package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -1
  341. package/dist/rendering/EnvironmentBackgroundPass.js +2 -2
  342. package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -1
  343. package/dist/rendering/EnvironmentPlatform.js +2 -2
  344. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  345. package/dist/rendering/ForwardPass.d.ts +1 -1
  346. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  347. package/dist/rendering/ForwardPass.js +24 -10
  348. package/dist/rendering/ForwardPass.js.map +1 -1
  349. package/dist/rendering/Geometry.d.ts +2 -0
  350. package/dist/rendering/Geometry.d.ts.map +1 -1
  351. package/dist/rendering/Geometry.js +15 -0
  352. package/dist/rendering/Geometry.js.map +1 -1
  353. package/dist/rendering/InstancedPBRMaterial.js +1 -1
  354. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  355. package/dist/rendering/InstancedUnlitMaterial.js +1 -1
  356. package/dist/rendering/InstancedUnlitMaterial.js.map +1 -1
  357. package/dist/rendering/Material.js +2 -2
  358. package/dist/rendering/Material.js.map +1 -1
  359. package/dist/rendering/MaterialBinding.js +4 -4
  360. package/dist/rendering/MaterialBinding.js.map +1 -1
  361. package/dist/rendering/MaterialInstance.js +2 -2
  362. package/dist/rendering/MaterialInstance.js.map +1 -1
  363. package/dist/rendering/MorphUnlitMaterial.js +1 -1
  364. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  365. package/dist/rendering/NormalMappedPBRMaterial.js +1 -1
  366. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  367. package/dist/rendering/OceanSurface.d.ts +62 -0
  368. package/dist/rendering/OceanSurface.d.ts.map +1 -0
  369. package/dist/rendering/OceanSurface.js +240 -0
  370. package/dist/rendering/OceanSurface.js.map +1 -0
  371. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  372. package/dist/rendering/PBRMaterial.js +3 -3
  373. package/dist/rendering/PBRMaterial.js.map +1 -1
  374. package/dist/rendering/PortableShaderMaterial.d.ts +60 -0
  375. package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -0
  376. package/dist/rendering/PortableShaderMaterial.js +223 -0
  377. package/dist/rendering/PortableShaderMaterial.js.map +1 -0
  378. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  379. package/dist/rendering/PostProcessPass.js +30 -6
  380. package/dist/rendering/PostProcessPass.js.map +1 -1
  381. package/dist/rendering/ProceduralTexture.d.ts +27 -0
  382. package/dist/rendering/ProceduralTexture.d.ts.map +1 -0
  383. package/dist/rendering/ProceduralTexture.js +336 -0
  384. package/dist/rendering/ProceduralTexture.js.map +1 -0
  385. package/dist/rendering/ProductTurntable.d.ts +96 -0
  386. package/dist/rendering/ProductTurntable.d.ts.map +1 -0
  387. package/dist/rendering/ProductTurntable.js +639 -0
  388. package/dist/rendering/ProductTurntable.js.map +1 -0
  389. package/dist/rendering/RenderDevice.d.ts +30 -0
  390. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  391. package/dist/rendering/RenderDevice.js.map +1 -1
  392. package/dist/rendering/Renderer.d.ts +3 -2
  393. package/dist/rendering/Renderer.d.ts.map +1 -1
  394. package/dist/rendering/Renderer.js +23 -9
  395. package/dist/rendering/Renderer.js.map +1 -1
  396. package/dist/rendering/RendererPostprocessPlan.js +4 -4
  397. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  398. package/dist/rendering/ScreenSpaceLineMaterial.js +1 -1
  399. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -1
  400. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  401. package/dist/rendering/ShaderChunks.js +81 -19
  402. package/dist/rendering/ShaderChunks.js.map +1 -1
  403. package/dist/rendering/ShaderLibrary.d.ts +2 -78
  404. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  405. package/dist/rendering/ShaderLibrary.js +127 -793
  406. package/dist/rendering/ShaderLibrary.js.map +1 -1
  407. package/dist/rendering/ShaderLibraryCore.d.ts +100 -0
  408. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -0
  409. package/dist/rendering/ShaderLibraryCore.js +800 -0
  410. package/dist/rendering/ShaderLibraryCore.js.map +1 -0
  411. package/dist/rendering/ShaderModule.d.ts +1 -1
  412. package/dist/rendering/ShaderModule.d.ts.map +1 -1
  413. package/dist/rendering/ShaderModule.js +4 -2
  414. package/dist/rendering/ShaderModule.js.map +1 -1
  415. package/dist/rendering/ShadowPass.d.ts +1 -1
  416. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  417. package/dist/rendering/ShadowPass.js +6 -4
  418. package/dist/rendering/ShadowPass.js.map +1 -1
  419. package/dist/rendering/SkinnedLitMaterial.js +1 -1
  420. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  421. package/dist/rendering/SkinnedUnlitMaterial.js +1 -1
  422. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  423. package/dist/rendering/SpaceEnvironment.d.ts +54 -0
  424. package/dist/rendering/SpaceEnvironment.d.ts.map +1 -0
  425. package/dist/rendering/SpaceEnvironment.js +116 -0
  426. package/dist/rendering/SpaceEnvironment.js.map +1 -0
  427. package/dist/rendering/TerrainHeightfield.d.ts +60 -0
  428. package/dist/rendering/TerrainHeightfield.d.ts.map +1 -0
  429. package/dist/rendering/TerrainHeightfield.js +239 -0
  430. package/dist/rendering/TerrainHeightfield.js.map +1 -0
  431. package/dist/rendering/TextureBinding.d.ts +14 -0
  432. package/dist/rendering/TextureBinding.d.ts.map +1 -1
  433. package/dist/rendering/TextureBinding.js +17 -0
  434. package/dist/rendering/TextureBinding.js.map +1 -1
  435. package/dist/rendering/TexturedPBRMaterial.js +1 -1
  436. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  437. package/dist/rendering/TexturedUnlitMaterial.js +1 -1
  438. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  439. package/dist/rendering/UnlitMaterial.js +1 -1
  440. package/dist/rendering/UnlitMaterial.js.map +1 -1
  441. package/dist/rendering/VegetationFixtures.d.ts +1 -1
  442. package/dist/rendering/VegetationFixtures.d.ts.map +1 -1
  443. package/dist/rendering/VegetationFixtures.js +1 -1
  444. package/dist/rendering/VegetationFixtures.js.map +1 -1
  445. package/dist/rendering/VegetationScatter.d.ts +68 -0
  446. package/dist/rendering/VegetationScatter.d.ts.map +1 -0
  447. package/dist/rendering/VegetationScatter.js +241 -0
  448. package/dist/rendering/VegetationScatter.js.map +1 -0
  449. package/dist/rendering/VoxelWorld.d.ts +51 -0
  450. package/dist/rendering/VoxelWorld.d.ts.map +1 -0
  451. package/dist/rendering/VoxelWorld.js +183 -0
  452. package/dist/rendering/VoxelWorld.js.map +1 -0
  453. package/dist/rendering/Weather.d.ts +44 -0
  454. package/dist/rendering/Weather.d.ts.map +1 -0
  455. package/dist/rendering/Weather.js +140 -0
  456. package/dist/rendering/Weather.js.map +1 -0
  457. package/dist/rendering/WebGL2Device.d.ts +22 -0
  458. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  459. package/dist/rendering/WebGL2Device.js +134 -23
  460. package/dist/rendering/WebGL2Device.js.map +1 -1
  461. package/dist/rendering/WebGPUDevice.d.ts +19 -2
  462. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  463. package/dist/rendering/WebGPUDevice.js +188 -9
  464. package/dist/rendering/WebGPUDevice.js.map +1 -1
  465. package/dist/rendering/index.d.ts +25 -32
  466. package/dist/rendering/index.d.ts.map +1 -1
  467. package/dist/rendering/index.js +35 -19
  468. package/dist/rendering/index.js.map +1 -1
  469. package/dist/rendering/lean/LeanProductRenderer.d.ts +29 -0
  470. package/dist/rendering/lean/LeanProductRenderer.d.ts.map +1 -0
  471. package/dist/rendering/lean/LeanProductRenderer.js +38 -0
  472. package/dist/rendering/lean/LeanProductRenderer.js.map +1 -0
  473. package/dist/rendering/lean/LeanProductionRenderer.d.ts +38 -0
  474. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -0
  475. package/dist/rendering/lean/LeanProductionRenderer.js +88 -0
  476. package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -0
  477. package/dist/rendering/lean-runtime.d.ts +18 -0
  478. package/dist/rendering/lean-runtime.d.ts.map +1 -0
  479. package/dist/rendering/lean-runtime.js +13 -0
  480. package/dist/rendering/lean-runtime.js.map +1 -0
  481. package/dist/rendering/postprocess/EffectComposer.d.ts.map +1 -1
  482. package/dist/rendering/postprocess/EffectComposer.js +1 -3
  483. package/dist/rendering/postprocess/EffectComposer.js.map +1 -1
  484. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  485. package/dist/rendering/production-runtime/PBRHDRPipeline.js +5 -1
  486. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  487. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +9 -0
  488. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  489. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  490. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +5 -0
  491. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  492. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +53 -5
  493. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  494. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +10 -0
  495. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  496. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +21 -2
  497. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  498. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  499. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +4 -1
  500. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  501. package/dist/rendering/webgpu-device-entry.d.ts +25 -0
  502. package/dist/rendering/webgpu-device-entry.d.ts.map +1 -0
  503. package/dist/rendering/webgpu-device-entry.js +24 -0
  504. package/dist/rendering/webgpu-device-entry.js.map +1 -0
  505. package/dist/rendering/webgpu.d.ts +25 -0
  506. package/dist/rendering/webgpu.d.ts.map +1 -0
  507. package/dist/rendering/webgpu.js +24 -0
  508. package/dist/rendering/webgpu.js.map +1 -0
  509. package/dist/scene/MathTypes.d.ts +1 -0
  510. package/dist/scene/MathTypes.d.ts.map +1 -1
  511. package/dist/scene/MathTypes.js +3 -0
  512. package/dist/scene/MathTypes.js.map +1 -1
  513. package/dist/scene/Renderable.d.ts +6 -0
  514. package/dist/scene/Renderable.d.ts.map +1 -1
  515. package/dist/scene/Renderable.js +8 -2
  516. package/dist/scene/Renderable.js.map +1 -1
  517. package/dist/scripting/index.d.ts +0 -16
  518. package/dist/scripting/index.d.ts.map +1 -1
  519. package/dist/scripting/index.js +0 -8
  520. package/dist/scripting/index.js.map +1 -1
  521. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +2 -2
  522. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts.map +1 -1
  523. package/dist/workflows/production-runtime/ProductionExampleRuntime.js +2 -2
  524. package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -1
  525. package/package.json +157 -40
  526. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
  527. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
  528. package/templates/cinematic-scene/package.json +1 -1
  529. package/templates/cinematic-scene/test-results/.last-run.json +6 -0
  530. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
  531. package/templates/mini-game/README.md +3 -2
  532. package/templates/mini-game/package.json +1 -1
  533. package/templates/mini-game/src/aura-assets.ts +1 -1
  534. package/templates/mini-game/src/main.ts +69 -141
  535. package/templates/product-viewer/README.md +7 -5
  536. package/templates/product-viewer/index.html +1 -1
  537. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
  538. package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
  539. package/templates/product-viewer/package.json +1 -1
  540. package/templates/product-viewer/src/aura-assets.ts +1 -1
  541. 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,89 +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.2
91
-
92
- Aura3D 1.5.2 is the current source release across all 26 public packages. It adds
93
- **camera and sizing capability to the public API** and carries an
94
- **evidence-correctness patch** on top of 1.5.1.
95
-
96
- ### What shipped in 1.5.2
97
-
98
- - **Orthographic and isometric cameras on the public surface.** `camera.orthographic()`
99
- and `camera.isometric()` join the safe agent API with an `orthographicSize` field, and
100
- `@aura3d/rendering` gains `computeOrthographicCameraFrame` (bounds-derived) and
101
- `computeOrthographicCameraView` (explicit frustum), selectable through
102
- `RenderSource.cameraProjection`. Before this, renderer auto-framing could only build a
103
- perspective frustum, so a scene that needed a parallel projection silently received a
104
- perspective one — CAD and technical views, isometric games, floor plans, sprite bakes and
105
- product turntables were all affected. `camera.isometric()` uses the true `atan(1/√2)`
106
- elevation at which the three world axes project to equal screen lengths. Perspective
107
- remains the default, so this is not a breaking change.
108
- - **`fitSizeToRegion()` for bounds-derived asset sizing.** Returns a `targetMaxDimension`
109
- that sizes an asset to a chosen fraction of the region it occupies. Placement was already
110
- bounds-derived through `resolveSemanticRegion`; sizing was not, so routes had no correct
111
- alternative to inventing a scale multiplier that broke whenever the asset or scene
112
- changed size.
113
- - **Per-row background estimation in foreground analysis.** Every showcase screenshot gate
114
- measures silhouette extent, foreground ratio and subject centroid against a background
115
- estimate. That estimate was a single average of the frame's four corners, which is wrong
116
- for most of a frame that has a gradient sky: rows near the horizon were compared against
117
- a colour sampled from the top of the frame, so sky pixels were admitted as subject and
118
- every derived measurement was computed against an inflated mask. Background is now
119
- estimated per row from the median of that row's left and right margins, which tracks a
120
- vertical gradient and tolerates a prop or HUD edge intruding into one margin.
121
- - **Producer/verifier parity is pinned by equality.** `tools/showcase-library/png-foreground.mjs`
122
- re-derives the same metrics from the written PNG; the two implementations must now agree
123
- pixel-for-pixel across gradient, flat-background, off-centre-subject and HUD-crop cases.
124
- - **Aura Clash evidence route cites current artifacts.** Its evidence model pointed at
125
- superseded proof files; every required signal now resolves to a field of the current schema.
126
-
127
- ### What shipped in 1.5.1
128
-
129
- 1.5.1 was a **product-remediation release**: three reported interaction defects and four
130
- reported game-runtime defects were root-caused at the library level and fixed with reusable
131
- systems, each backed by unit tests and a runtime probe rather than by a screenshot.
132
-
133
- - **Focus and selection (`focusObject`, `focusSemanticRegion`).** A focus indicator
134
- rendered as a flat bar because Aura3D's torus is a ring in local **XY** with its tube
135
- on **Z**, and a route scaled its ring-plane radius instead of its tube. The axis
136
- convention is now published as `AURA_PRIMITIVE_AXES`, and indicator correctness is
137
- asserted per result — circular in its own plane, thinned on the tube axis, enclosing
138
- its target, callout outside it.
139
- - **World-anchored labels.** `labels.callout(...)` produced a valid node that nothing
140
- drew: label rendering lived only in the canvas2d fallback, while every route with a
141
- typed GLB takes the production WebGL2 path. Evidence counted label *nodes*, so reports
142
- stayed green while the screen showed none. There is now a real screen-space label layer
143
- in the production path, and `AuraDiagnostics.labels` reports what was actually placed.
144
- - **Asset-relative layout (`SpatialAnchoring`).** `placedBoundsFromAsset`, 19 bounds
145
- anchors, normalized semantic regions, deterministic distribution and
146
- `checkSpatialInvariants` replace literal helper coordinates that stopped matching their
147
- asset.
148
- - **Vehicle chassis and AI driving.** A car pinned to a literal height cannot respond to
149
- the road; `createVehicleChassis` resolves contact, suspension and attitude from four
150
- contact points, deriving geometry from the asset's own bounds.
151
- `createVehicleDriverAi` steers toward a look-ahead point on the racing line with
152
- curvature-based corner speeds, so it turns into a corner rather than after it.
153
- - **Platformer motion solving.** `solvePlatformerMotion` derives gravity, jump velocity
154
- and move speed from a level's own platform geometry; `validatePlatformerMotion` refuses
155
- tuning inconsistent with it. A shipped level had a 5.76x jump overshoot that passed
156
- every gate because the level was *solvable*.
157
- - **Frame-based combat.** `solveCombatFrameData` and `validateCombatFrameData` validate
158
- frame data *as* frame data. A shipped move table had 12–32 active frames against 4–5
159
- recovery, inverted from any real fighting game, so every move was safe on block.
160
- - **Application kits.** Five reusable kits — product configurator, digital twin,
161
- architecture, smart city, cinematic. Each publishes a `capabilities` report naming what
162
- it deliberately does **not** own.
163
- - **Scene queries.** Raycasts, sphere casts and ground probes reachable from the public
164
- 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.
165
134
 
166
135
  ### Measured
167
136
 
168
- - **87 of 87** public controls and **47 of 47** keyboard bindings verified *by operation*
169
- across 13 routes, with zero console errors.
170
- - **21 of 21** combined quality gates pass with **zero unproven**. Missing evidence is
171
- reported as `unproven`, never as a pass.
172
- - **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.
173
151
  - Clean-room projects against the public surface only: **137 / 142 / 122 / 99** authored
174
152
  lines against budgets of 200 / 200 / 300 / 300; one package imported each; **zero**
175
153
  private imports.
@@ -179,37 +157,81 @@ systems, each backed by unit tests and a runtime probe rather than by a screensh
179
157
 
180
158
  Stated because a release note that omits this is not useful:
181
159
 
182
- - `showcase-blockfall-reactor`, `showcase-skyline-runner` and
183
- `showcase-turbo-drift-circuit` remain **prototype-blocked**. Their physics and frame
184
- data are correct; whether they are good games is a judgement their visual review has
185
- 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.
186
190
  - `aura-clash-showcase` is **not in the route-gate registry**, so showcase-wide gates do
187
191
  not cover it. It carries its own 23-spec suite.
188
192
  - `@aura3d/engine-runtime` still declares 322 exports duplicating other packages; 51
189
193
  exported symbol names have more than one owning package.
190
- - Five physics capabilities remain unreachable from the public API: penetration
191
- resolution, friction, restitution, constraints, continuous collision detection.
192
- - Practical Three.js ecosystem parity is **6 exceed / 37 parity / 10 unproven / 3 gap**
193
- across 56 capabilities. Aura3D is behind on ecosystem breadth, shader authoring
194
- through the safe API, 3D text, and LOD/instancing exposure.
195
-
196
- 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`.
197
218
 
198
219
  Install after the npm publication completes:
199
220
 
200
221
  ```bash
201
- npm install @aura3d/engine@1.5.2
222
+ npm install @aura3d/engine@2.0.0
202
223
  # or scaffold an app
203
- npx create-aura3d@1.5.2 my-product --template product-viewer
224
+ npx create-aura3d@2.0.0 my-product --template product-viewer
204
225
  ```
205
226
 
206
- Detailed release notes are in
207
- [`docs/project/aura3d-145-release-notes.md`](docs/project/aura3d-145-release-notes.md),
208
- 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/`.
209
231
 
210
- ## Aura3D 1.1.0 asset catalog
232
+ ## Aura3D 2.0 asset catalog
211
233
 
212
- 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:
213
235
 
214
236
  ```bash
215
237
  npx @aura3d/cli@latest assets search "battle-worn knight helmet"
@@ -227,9 +249,9 @@ npx @aura3d/cli@latest assets validate-game --profile fighting-character --asset
227
249
  ```
228
250
 
229
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`.
230
- ## Aura3D 1.1.0 runtime launch track
252
+ ## Aura3D 2.0 runtime launch track
231
253
 
232
- Aura3D 1.1.0 introduced the runtime and animation evidence foundation; 1.5.2 is
254
+ Aura3D 2.0 introduced the runtime and animation evidence foundation; 2.0.0 is
233
255
  the current package release that carries it forward:
234
256
 
235
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.
@@ -237,7 +259,8 @@ the current package release that carries it forward:
237
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.
238
260
  - `AuraVoice bridge`: AuraVoice owns script/audio/caption/viseme timing; Aura3D owns typed scene generation, character performance, camera choreography, rendering, screenshots, and visual evidence.
239
261
 
240
- 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.
241
264
  Historical runtime, screenshot, route, GLB, package-smoke, and deployment
242
265
  receipts do not replace current gameplay, visual, asset, audio, performance,
243
266
  and documentation gates.
@@ -300,7 +323,9 @@ The showcase currently targets:
300
323
  - arcade movement, hitboxes, guard state, meter, AI pressure, and results;
301
324
  - evidence routes, accessibility settings, poster capture, Playwright contracts, sitemap and robots integration, and marketing homepage placement.
302
325
 
303
- 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.
304
329
 
305
330
  ## Animation Studio — prompt → rendered short
306
331
 
@@ -345,7 +370,7 @@ createAuraApp("#app", {
345
370
 
346
371
  The safe API uses generated refs such as `assets.robot`. Do not write `model("robot")`, hand-written GLB URLs, or invented asset ids.
347
372
 
348
- ## Aura3D 1.1.0 game runtime example
373
+ ## Aura3D 2.0 game runtime example
349
374
 
350
375
  Add typed assets before writing model code:
351
376
 
@@ -470,7 +495,7 @@ const evidence = app.evidence({
470
495
  console.log(touchLayout.controls.length, replayDriver.snapshot(), overlay.sections, evidence.systems);
471
496
  ```
472
497
 
473
- ## Aura3D 1.1.0 prompt-animation and AuraVoice example
498
+ ## Aura3D 2.0 prompt-animation and AuraVoice example
474
499
 
475
500
  Prompt-animation routes use typed assets, contract artifacts, shot playback, captions, visemes, and AuraVoice timing packages.
476
501
 
@@ -665,7 +690,7 @@ pnpm run check:release
665
690
 
666
691
  Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
667
692
 
668
- Aura3D 1.1.0 route-specific readiness commands:
693
+ Aura3D 2.0 route-specific readiness commands:
669
694
 
670
695
  ```bash
671
696
  npx @aura3d/cli@latest assets validate-game
@@ -683,21 +708,21 @@ pnpm prompt-animation:release
683
708
 
684
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.
685
710
 
686
- Aura3D 1.1.0 game-engine/showcase readiness is stricter:
711
+ Aura3D 2.0 game-engine/showcase readiness is stricter:
687
712
 
688
713
  ```bash
689
714
  pnpm aura3d110:readiness
690
715
  ```
691
716
 
692
- Expected current state — The scoped package gates pass for the 1.5.2 baseline,
693
- but the current route-library gate is deliberately non-passing until independent
694
- review is current. Blockfall Reactor, Turbo Drift Circuit, and Skyline Runner are
695
- prototype-blocked during visual reconstruction; their typed assets, mounted
696
- gameplay, and bounded route evidence are technical proof, not current visual
697
- approval. Aura Clash is tracked separately as a development showcase; two
698
- internal diagnostics and two game-layer diagnostic harnesses remain outside
699
- the configured public count. Comparative performance/parity promotion
700
- 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.
701
726
 
702
727
  ## Contributing
703
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":"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"}
@@ -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"}