@aura3d/engine 1.4.5 → 1.5.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 (477) hide show
  1. package/README.md +64 -29
  2. package/dist/animation/Retargeting.d.ts +12 -0
  3. package/dist/animation/Retargeting.d.ts.map +1 -0
  4. package/dist/animation/Retargeting.js +19 -0
  5. package/dist/animation/Retargeting.js.map +1 -0
  6. package/dist/assets/GLTFLoader.d.ts +4 -0
  7. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  8. package/dist/assets/GLTFLoader.js +39 -4
  9. package/dist/assets/GLTFLoader.js.map +1 -1
  10. package/dist/assets/GLTFRenderResources.d.ts +16 -0
  11. package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
  12. package/dist/assets/GLTFRenderResources.js +42 -2
  13. package/dist/assets/GLTFRenderResources.js.map +1 -1
  14. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +6 -0
  15. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
  16. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +2 -1
  17. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
  18. package/dist/assets/index.d.ts +0 -1
  19. package/dist/assets/index.d.ts.map +1 -1
  20. package/dist/assets/index.js +0 -1
  21. package/dist/assets/index.js.map +1 -1
  22. package/dist/assets/loaders/index.d.ts +0 -1
  23. package/dist/assets/loaders/index.d.ts.map +1 -1
  24. package/dist/assets/loaders/index.js +0 -1
  25. package/dist/assets/loaders/index.js.map +1 -1
  26. package/dist/aura3d-cli/asset-intent.d.ts +148 -0
  27. package/dist/aura3d-cli/asset-intent.d.ts.map +1 -0
  28. package/dist/aura3d-cli/asset-intent.js +145 -0
  29. package/dist/aura3d-cli/asset-intent.js.map +1 -0
  30. package/dist/aura3d-cli/asset-role-admission.d.ts +174 -0
  31. package/dist/aura3d-cli/asset-role-admission.d.ts.map +1 -0
  32. package/dist/aura3d-cli/asset-role-admission.js +381 -0
  33. package/dist/aura3d-cli/asset-role-admission.js.map +1 -0
  34. package/dist/aura3d-cli/asset-screening-effects.d.ts +95 -0
  35. package/dist/aura3d-cli/asset-screening-effects.d.ts.map +1 -0
  36. package/dist/aura3d-cli/asset-screening-effects.js +321 -0
  37. package/dist/aura3d-cli/asset-screening-effects.js.map +1 -0
  38. package/dist/aura3d-cli/asset-screening-pipeline.d.ts +132 -0
  39. package/dist/aura3d-cli/asset-screening-pipeline.d.ts.map +1 -0
  40. package/dist/aura3d-cli/asset-screening-pipeline.js +277 -0
  41. package/dist/aura3d-cli/asset-screening-pipeline.js.map +1 -0
  42. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +15 -0
  43. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +1 -0
  44. package/dist/aura3d-cli/cartoon-asset-profiles.js +46 -0
  45. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +1 -0
  46. package/dist/aura3d-cli/cli-help.js +1 -1
  47. package/dist/aura3d-cli/cli.js +16 -2
  48. package/dist/aura3d-cli/cli.js.map +1 -1
  49. package/dist/aura3d-cli/index.d.ts +8 -0
  50. package/dist/aura3d-cli/index.d.ts.map +1 -1
  51. package/dist/aura3d-cli/index.js +390 -17
  52. package/dist/aura3d-cli/index.js.map +1 -1
  53. package/dist/aura3d-cli/pull-bridge/search.d.ts +4 -0
  54. package/dist/aura3d-cli/pull-bridge/search.d.ts.map +1 -1
  55. package/dist/aura3d-cli/pull-bridge/search.js +22 -0
  56. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  57. package/dist/aura3d-cli/pull-bridge.d.ts +20 -5
  58. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  59. package/dist/aura3d-cli/pull-bridge.js +38 -1
  60. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  61. package/dist/controls/ControlState.d.ts +1 -1
  62. package/dist/controls/ControlState.d.ts.map +1 -1
  63. package/dist/controls/DragControls.d.ts +21 -1
  64. package/dist/controls/DragControls.d.ts.map +1 -1
  65. package/dist/controls/DragControls.js +24 -2
  66. package/dist/controls/DragControls.js.map +1 -1
  67. package/dist/controls/FirstPersonControls.d.ts +10 -1
  68. package/dist/controls/FirstPersonControls.d.ts.map +1 -1
  69. package/dist/controls/FirstPersonControls.js +18 -2
  70. package/dist/controls/FirstPersonControls.js.map +1 -1
  71. package/dist/controls/FlyControls.d.ts +42 -0
  72. package/dist/controls/FlyControls.d.ts.map +1 -1
  73. package/dist/controls/FlyControls.js +106 -3
  74. package/dist/controls/FlyControls.js.map +1 -1
  75. package/dist/controls/MapControls.d.ts +13 -0
  76. package/dist/controls/MapControls.d.ts.map +1 -1
  77. package/dist/controls/MapControls.js +40 -2
  78. package/dist/controls/MapControls.js.map +1 -1
  79. package/dist/controls/OrbitControls.d.ts +54 -0
  80. package/dist/controls/OrbitControls.d.ts.map +1 -1
  81. package/dist/controls/OrbitControls.js +133 -0
  82. package/dist/controls/OrbitControls.js.map +1 -1
  83. package/dist/controls/PointerLockControls.d.ts +12 -5
  84. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  85. package/dist/controls/PointerLockControls.js +30 -11
  86. package/dist/controls/PointerLockControls.js.map +1 -1
  87. package/dist/controls/SelectionManager.d.ts +22 -1
  88. package/dist/controls/SelectionManager.d.ts.map +1 -1
  89. package/dist/controls/SelectionManager.js +64 -6
  90. package/dist/controls/SelectionManager.js.map +1 -1
  91. package/dist/controls/TransformControls.d.ts +135 -1
  92. package/dist/controls/TransformControls.d.ts.map +1 -1
  93. package/dist/controls/TransformControls.js +534 -10
  94. package/dist/controls/TransformControls.js.map +1 -1
  95. package/dist/controls/index.d.ts +7 -2
  96. package/dist/controls/index.d.ts.map +1 -1
  97. package/dist/controls/index.js +1 -1
  98. package/dist/controls/index.js.map +1 -1
  99. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +2 -0
  100. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  101. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +769 -42
  102. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  103. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  104. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +22 -2
  105. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  106. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +26 -0
  107. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
  108. package/dist/ecs/components/MeshComponent.d.ts +5 -2
  109. package/dist/ecs/components/MeshComponent.d.ts.map +1 -1
  110. package/dist/ecs/components/MeshComponent.js.map +1 -1
  111. package/dist/editor-runtime/CartoonSceneEditor.d.ts +111 -0
  112. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +1 -0
  113. package/dist/editor-runtime/CartoonSceneEditor.js +285 -0
  114. package/dist/editor-runtime/CartoonSceneEditor.js.map +1 -0
  115. package/dist/editor-runtime/InteractiveTransformGizmo.d.ts +142 -0
  116. package/dist/editor-runtime/InteractiveTransformGizmo.d.ts.map +1 -0
  117. package/dist/editor-runtime/InteractiveTransformGizmo.js +468 -0
  118. package/dist/editor-runtime/InteractiveTransformGizmo.js.map +1 -0
  119. package/dist/editor-runtime/index.d.ts +2 -0
  120. package/dist/editor-runtime/index.d.ts.map +1 -1
  121. package/dist/editor-runtime/index.js +1 -0
  122. package/dist/editor-runtime/index.js.map +1 -1
  123. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +50 -0
  124. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +1 -0
  125. package/dist/engine/agent-api/CartoonAssetManifest.js +65 -0
  126. package/dist/engine/agent-api/CartoonAssetManifest.js.map +1 -0
  127. package/dist/engine/agent-api/CartoonDirector.d.ts +120 -0
  128. package/dist/engine/agent-api/CartoonDirector.d.ts.map +1 -0
  129. package/dist/engine/agent-api/CartoonDirector.js +432 -0
  130. package/dist/engine/agent-api/CartoonDirector.js.map +1 -0
  131. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +51 -0
  132. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +1 -0
  133. package/dist/engine/agent-api/CartoonEpisodePackage.js +79 -0
  134. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +1 -0
  135. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +83 -0
  136. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +1 -0
  137. package/dist/engine/agent-api/CartoonMotionQuality.js +128 -0
  138. package/dist/engine/agent-api/CartoonMotionQuality.js.map +1 -0
  139. package/dist/engine/agent-api/CartoonPerformance.d.ts +150 -0
  140. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +1 -0
  141. package/dist/engine/agent-api/CartoonPerformance.js +345 -0
  142. package/dist/engine/agent-api/CartoonPerformance.js.map +1 -0
  143. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +143 -0
  144. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +1 -0
  145. package/dist/engine/agent-api/CartoonRenderQueue.js +410 -0
  146. package/dist/engine/agent-api/CartoonRenderQueue.js.map +1 -0
  147. package/dist/engine/agent-api/CartoonRouteProof.d.ts +112 -0
  148. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +1 -0
  149. package/dist/engine/agent-api/CartoonRouteProof.js +127 -0
  150. package/dist/engine/agent-api/CartoonRouteProof.js.map +1 -0
  151. package/dist/engine/agent-api/GameEvidence.d.ts +1 -0
  152. package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -1
  153. package/dist/engine/agent-api/GameEvidence.js +1 -0
  154. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  155. package/dist/engine/agent-api/GameGenreKits.d.ts +11 -0
  156. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  157. package/dist/engine/agent-api/GameGenreKits.js +28 -6
  158. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  159. package/dist/engine/agent-api/GameRuntime.d.ts +1 -0
  160. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  161. package/dist/engine/agent-api/GameRuntime.js +1 -0
  162. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  163. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +12 -0
  164. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  165. package/dist/engine/agent-api/GameSceneGeometryBindings.js +2 -0
  166. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  167. package/dist/engine/agent-api/LayeredSceneComposition.d.ts +295 -0
  168. package/dist/engine/agent-api/LayeredSceneComposition.d.ts.map +1 -0
  169. package/dist/engine/agent-api/LayeredSceneComposition.js +387 -0
  170. package/dist/engine/agent-api/LayeredSceneComposition.js.map +1 -0
  171. package/dist/engine/agent-api/SceneGroundingUtils.d.ts +62 -0
  172. package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -1
  173. package/dist/engine/agent-api/SceneGroundingUtils.js +37 -0
  174. package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -1
  175. package/dist/engine/agent-api/SubjectFramingUtils.d.ts +127 -0
  176. package/dist/engine/agent-api/SubjectFramingUtils.d.ts.map +1 -0
  177. package/dist/engine/agent-api/SubjectFramingUtils.js +126 -0
  178. package/dist/engine/agent-api/SubjectFramingUtils.js.map +1 -0
  179. package/dist/engine/agent-api/TouchControlBinding.d.ts +81 -0
  180. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -0
  181. package/dist/engine/agent-api/TouchControlBinding.js +116 -0
  182. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -0
  183. package/dist/engine/agent-api/index.d.ts +39 -0
  184. package/dist/engine/agent-api/index.d.ts.map +1 -1
  185. package/dist/engine/agent-api/index.js +546 -74
  186. package/dist/engine/agent-api/index.js.map +1 -1
  187. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  188. package/dist/engine/production-runtime/GameRenderPreset.d.ts +32 -0
  189. package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
  190. package/dist/engine/production-runtime/GameRenderPreset.js +37 -2
  191. package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
  192. package/dist/engine/production-runtime/TypedGLBActor.d.ts +8 -0
  193. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  194. package/dist/engine/production-runtime/TypedGLBActor.js +2 -1
  195. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  196. package/dist/input/controls/PointerLockControls.d.ts +1 -1
  197. package/dist/input/controls/PointerLockControls.d.ts.map +1 -1
  198. package/dist/input/controls/PointerLockControls.js +12 -0
  199. package/dist/input/controls/PointerLockControls.js.map +1 -1
  200. package/dist/physics/Collider.d.ts +1 -1
  201. package/dist/physics/Collider.d.ts.map +1 -1
  202. package/dist/physics/Collider.js +2 -2
  203. package/dist/physics/Collider.js.map +1 -1
  204. package/dist/physics/CollisionEvents.d.ts +1 -0
  205. package/dist/physics/CollisionEvents.d.ts.map +1 -1
  206. package/dist/physics/CollisionEvents.js.map +1 -1
  207. package/dist/physics/NarrowPhase.d.ts +11 -0
  208. package/dist/physics/NarrowPhase.d.ts.map +1 -0
  209. package/dist/physics/NarrowPhase.js +565 -0
  210. package/dist/physics/NarrowPhase.js.map +1 -0
  211. package/dist/physics/PhysicsDebugDraw.js +19 -1
  212. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  213. package/dist/physics/PhysicsWorld.d.ts +43 -0
  214. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  215. package/dist/physics/PhysicsWorld.js +305 -30
  216. package/dist/physics/PhysicsWorld.js.map +1 -1
  217. package/dist/physics/RigidBody.d.ts +8 -1
  218. package/dist/physics/RigidBody.d.ts.map +1 -1
  219. package/dist/physics/RigidBody.js +32 -5
  220. package/dist/physics/RigidBody.js.map +1 -1
  221. package/dist/physics/Shape.d.ts +16 -2
  222. package/dist/physics/Shape.d.ts.map +1 -1
  223. package/dist/physics/Shape.js +93 -31
  224. package/dist/physics/Shape.js.map +1 -1
  225. package/dist/physics/TimeOfImpact.d.ts +15 -0
  226. package/dist/physics/TimeOfImpact.d.ts.map +1 -0
  227. package/dist/physics/TimeOfImpact.js +81 -0
  228. package/dist/physics/TimeOfImpact.js.map +1 -0
  229. package/dist/physics/index.d.ts +2 -0
  230. package/dist/physics/index.d.ts.map +1 -1
  231. package/dist/physics/index.js +2 -0
  232. package/dist/physics/index.js.map +1 -1
  233. package/dist/rendering/CascadedShadowMaps.d.ts +9 -1
  234. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  235. package/dist/rendering/CascadedShadowMaps.js +68 -0
  236. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  237. package/dist/rendering/ClusteredForwardLighting.d.ts +28 -0
  238. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -0
  239. package/dist/rendering/ClusteredForwardLighting.js +156 -0
  240. package/dist/rendering/ClusteredForwardLighting.js.map +1 -0
  241. package/dist/rendering/DepthPass.d.ts +14 -1
  242. package/dist/rendering/DepthPass.d.ts.map +1 -1
  243. package/dist/rendering/DepthPass.js +19 -4
  244. package/dist/rendering/DepthPass.js.map +1 -1
  245. package/dist/rendering/EnvironmentMapResources.d.ts +59 -1
  246. package/dist/rendering/EnvironmentMapResources.d.ts.map +1 -1
  247. package/dist/rendering/EnvironmentMapResources.js +140 -100
  248. package/dist/rendering/EnvironmentMapResources.js.map +1 -1
  249. package/dist/rendering/EnvironmentPlatform.d.ts +3 -2
  250. package/dist/rendering/EnvironmentPlatform.d.ts.map +1 -1
  251. package/dist/rendering/EnvironmentPlatform.js +99 -44
  252. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  253. package/dist/rendering/ForwardPass.d.ts +37 -0
  254. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  255. package/dist/rendering/ForwardPass.js +234 -7
  256. package/dist/rendering/ForwardPass.js.map +1 -1
  257. package/dist/rendering/Geometry.d.ts +19 -0
  258. package/dist/rendering/Geometry.d.ts.map +1 -1
  259. package/dist/rendering/Geometry.js +64 -0
  260. package/dist/rendering/Geometry.js.map +1 -1
  261. package/dist/rendering/IBL.d.ts.map +1 -1
  262. package/dist/rendering/IBL.js +0 -1
  263. package/dist/rendering/IBL.js.map +1 -1
  264. package/dist/rendering/LightCollector.d.ts +5 -1
  265. package/dist/rendering/LightCollector.d.ts.map +1 -1
  266. package/dist/rendering/LightCollector.js +16 -3
  267. package/dist/rendering/LightCollector.js.map +1 -1
  268. package/dist/rendering/LightUniforms.d.ts +26 -1
  269. package/dist/rendering/LightUniforms.d.ts.map +1 -1
  270. package/dist/rendering/LightUniforms.js +140 -8
  271. package/dist/rendering/LightUniforms.js.map +1 -1
  272. package/dist/rendering/LightingRig.d.ts +77 -0
  273. package/dist/rendering/LightingRig.d.ts.map +1 -1
  274. package/dist/rendering/LightingRig.js +100 -11
  275. package/dist/rendering/LightingRig.js.map +1 -1
  276. package/dist/rendering/MeshConsolidation.d.ts +63 -0
  277. package/dist/rendering/MeshConsolidation.d.ts.map +1 -0
  278. package/dist/rendering/MeshConsolidation.js +251 -0
  279. package/dist/rendering/MeshConsolidation.js.map +1 -0
  280. package/dist/rendering/PMREM.d.ts +13 -1
  281. package/dist/rendering/PMREM.d.ts.map +1 -1
  282. package/dist/rendering/PMREM.js +18 -4
  283. package/dist/rendering/PMREM.js.map +1 -1
  284. package/dist/rendering/PostProcessPass.d.ts +24 -2
  285. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  286. package/dist/rendering/PostProcessPass.js +136 -18
  287. package/dist/rendering/PostProcessPass.js.map +1 -1
  288. package/dist/rendering/PrimitiveSubmissionAudit.d.ts +195 -0
  289. package/dist/rendering/PrimitiveSubmissionAudit.d.ts.map +1 -0
  290. package/dist/rendering/PrimitiveSubmissionAudit.js +280 -0
  291. package/dist/rendering/PrimitiveSubmissionAudit.js.map +1 -0
  292. package/dist/rendering/ProductTurntableFixtures.d.ts.map +1 -1
  293. package/dist/rendering/ProductTurntableFixtures.js +93 -13
  294. package/dist/rendering/ProductTurntableFixtures.js.map +1 -1
  295. package/dist/rendering/ReflectionProbe.d.ts +59 -0
  296. package/dist/rendering/ReflectionProbe.d.ts.map +1 -1
  297. package/dist/rendering/ReflectionProbe.js +224 -0
  298. package/dist/rendering/ReflectionProbe.js.map +1 -1
  299. package/dist/rendering/ReflectionSurfaces.d.ts +4 -2
  300. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  301. package/dist/rendering/ReflectionSurfaces.js +13 -8
  302. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  303. package/dist/rendering/RenderBackend.d.ts +1 -1
  304. package/dist/rendering/RenderBackend.d.ts.map +1 -1
  305. package/dist/rendering/RenderBackend.js +5 -1
  306. package/dist/rendering/RenderBackend.js.map +1 -1
  307. package/dist/rendering/RenderDevice.d.ts +13 -2
  308. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  309. package/dist/rendering/RenderDevice.js +5 -2
  310. package/dist/rendering/RenderDevice.js.map +1 -1
  311. package/dist/rendering/Renderer.d.ts +41 -1
  312. package/dist/rendering/Renderer.d.ts.map +1 -1
  313. package/dist/rendering/Renderer.js +406 -61
  314. package/dist/rendering/Renderer.js.map +1 -1
  315. package/dist/rendering/RendererPostprocessPlan.d.ts +10 -3
  316. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  317. package/dist/rendering/RendererPostprocessPlan.js +25 -5
  318. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  319. package/dist/rendering/RendererVisualPipelineReport.d.ts +3 -2
  320. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  321. package/dist/rendering/RendererVisualPipelineReport.js +2 -0
  322. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  323. package/dist/rendering/ScreenSpaceLineMaterial.d.ts +34 -0
  324. package/dist/rendering/ScreenSpaceLineMaterial.d.ts.map +1 -0
  325. package/dist/rendering/ScreenSpaceLineMaterial.js +93 -0
  326. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -0
  327. package/dist/rendering/ShaderChunks.d.ts +7 -0
  328. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  329. package/dist/rendering/ShaderChunks.js +137 -0
  330. package/dist/rendering/ShaderChunks.js.map +1 -1
  331. package/dist/rendering/ShaderLibrary.d.ts +17 -0
  332. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  333. package/dist/rendering/ShaderLibrary.js +940 -98
  334. package/dist/rendering/ShaderLibrary.js.map +1 -1
  335. package/dist/rendering/ShadowPass.d.ts +10 -0
  336. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  337. package/dist/rendering/ShadowPass.js +8 -1
  338. package/dist/rendering/ShadowPass.js.map +1 -1
  339. package/dist/rendering/SkinnedLitMaterial.d.ts +6 -0
  340. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  341. package/dist/rendering/SkinnedLitMaterial.js +22 -8
  342. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  343. package/dist/rendering/SkinnedUnlitMaterial.d.ts +8 -0
  344. package/dist/rendering/SkinnedUnlitMaterial.d.ts.map +1 -1
  345. package/dist/rendering/SkinnedUnlitMaterial.js +26 -9
  346. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  347. package/dist/rendering/SpecularPrefilter.d.ts +42 -0
  348. package/dist/rendering/SpecularPrefilter.d.ts.map +1 -0
  349. package/dist/rendering/SpecularPrefilter.js +480 -0
  350. package/dist/rendering/SpecularPrefilter.js.map +1 -0
  351. package/dist/rendering/TerrainFixtures.d.ts +24 -0
  352. package/dist/rendering/TerrainFixtures.d.ts.map +1 -1
  353. package/dist/rendering/TerrainFixtures.js +96 -0
  354. package/dist/rendering/TerrainFixtures.js.map +1 -1
  355. package/dist/rendering/Texture.d.ts +7 -0
  356. package/dist/rendering/Texture.d.ts.map +1 -1
  357. package/dist/rendering/Texture.js +9 -0
  358. package/dist/rendering/Texture.js.map +1 -1
  359. package/dist/rendering/VertexFormat.d.ts +34 -1
  360. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  361. package/dist/rendering/VertexFormat.js +61 -0
  362. package/dist/rendering/VertexFormat.js.map +1 -1
  363. package/dist/rendering/WebGL2Device.d.ts +48 -0
  364. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  365. package/dist/rendering/WebGL2Device.js +1298 -44
  366. package/dist/rendering/WebGL2Device.js.map +1 -1
  367. package/dist/rendering/WebGPUDevice.d.ts +7 -2
  368. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  369. package/dist/rendering/WebGPUDevice.js +111 -17
  370. package/dist/rendering/WebGPUDevice.js.map +1 -1
  371. package/dist/rendering/WebGPUSkinningLimits.d.ts +14 -0
  372. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -0
  373. package/dist/rendering/WebGPUSkinningLimits.js +14 -0
  374. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -0
  375. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +19 -0
  376. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +1 -0
  377. package/dist/rendering/cartoon/CartoonMaterialStyle.js +13 -0
  378. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +1 -0
  379. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +36 -0
  380. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +1 -0
  381. package/dist/rendering/cartoon/CartoonRenderPreset.js +23 -0
  382. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +1 -0
  383. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
  384. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
  385. package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
  386. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
  387. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +28 -0
  388. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +1 -0
  389. package/dist/rendering/cartoon/CartoonVisualQuality.js +39 -0
  390. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +1 -0
  391. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
  392. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
  393. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
  394. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
  395. package/dist/rendering/cartoon/index.d.ts +6 -0
  396. package/dist/rendering/cartoon/index.d.ts.map +1 -0
  397. package/dist/rendering/cartoon/index.js +6 -0
  398. package/dist/rendering/cartoon/index.js.map +1 -0
  399. package/dist/rendering/index.d.ts +26 -15
  400. package/dist/rendering/index.d.ts.map +1 -1
  401. package/dist/rendering/index.js +15 -9
  402. package/dist/rendering/index.js.map +1 -1
  403. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +93 -0
  404. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -0
  405. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +202 -0
  406. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -0
  407. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  408. package/dist/rendering/production-runtime/PBRHDRPipeline.js +3 -0
  409. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  410. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +1 -0
  411. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  412. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  413. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  414. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +5 -3
  415. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  416. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  417. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +9 -5
  418. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  419. package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts +5 -0
  420. package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts.map +1 -1
  421. package/dist/rendering/production-runtime/TransmissionBackdropCapture.js +40 -0
  422. package/dist/rendering/production-runtime/TransmissionBackdropCapture.js.map +1 -1
  423. package/dist/rendering/production-runtime/environment/HDRLoader.d.ts +6 -0
  424. package/dist/rendering/production-runtime/environment/HDRLoader.d.ts.map +1 -1
  425. package/dist/rendering/production-runtime/environment/HDRLoader.js +19 -0
  426. package/dist/rendering/production-runtime/environment/HDRLoader.js.map +1 -1
  427. package/dist/rendering/production-runtime/index.d.ts +3 -1
  428. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  429. package/dist/rendering/production-runtime/index.js +1 -0
  430. package/dist/rendering/production-runtime/index.js.map +1 -1
  431. package/dist/scene/Light.d.ts +1 -1
  432. package/dist/scene/Light.d.ts.map +1 -1
  433. package/dist/scene/RectAreaLight.d.ts +22 -0
  434. package/dist/scene/RectAreaLight.d.ts.map +1 -0
  435. package/dist/scene/RectAreaLight.js +46 -0
  436. package/dist/scene/RectAreaLight.js.map +1 -0
  437. package/dist/scene/Scene.d.ts +6 -1
  438. package/dist/scene/Scene.d.ts.map +1 -1
  439. package/dist/scene/Scene.js +8 -1
  440. package/dist/scene/Scene.js.map +1 -1
  441. package/dist/scene/SceneSerializer.d.ts +3 -1
  442. package/dist/scene/SceneSerializer.d.ts.map +1 -1
  443. package/dist/scene/SceneSerializer.js +14 -7
  444. package/dist/scene/SceneSerializer.js.map +1 -1
  445. package/dist/scene/index.d.ts +1 -0
  446. package/dist/scene/index.d.ts.map +1 -1
  447. package/dist/scene/index.js +1 -0
  448. package/dist/scene/index.js.map +1 -1
  449. package/dist/scripting/CartoonNodeCategories.d.ts +3 -0
  450. package/dist/scripting/CartoonNodeCategories.d.ts.map +1 -0
  451. package/dist/scripting/CartoonNodeCategories.js +9 -0
  452. package/dist/scripting/CartoonNodeCategories.js.map +1 -0
  453. package/dist/scripting/CartoonVisualNodes.d.ts +3 -0
  454. package/dist/scripting/CartoonVisualNodes.d.ts.map +1 -0
  455. package/dist/scripting/CartoonVisualNodes.js +41 -0
  456. package/dist/scripting/CartoonVisualNodes.js.map +1 -0
  457. package/package.json +124 -113
  458. package/templates/production-asset-inspector/README.md +5 -0
  459. package/templates/production-asset-inspector/asset-manifest.json +9 -0
  460. package/templates/production-asset-inspector/index.html +2 -0
  461. package/templates/production-asset-inspector/package.json +17 -0
  462. package/templates/production-asset-inspector/src/main.ts +16 -0
  463. package/templates/production-material-studio/README.md +5 -0
  464. package/templates/production-material-studio/asset-manifest.json +9 -0
  465. package/templates/production-material-studio/index.html +2 -0
  466. package/templates/production-material-studio/package.json +17 -0
  467. package/templates/production-material-studio/src/main.ts +16 -0
  468. package/templates/production-product-configurator/README.md +5 -0
  469. package/templates/production-product-configurator/asset-manifest.json +9 -0
  470. package/templates/production-product-configurator/index.html +2 -0
  471. package/templates/production-product-configurator/package.json +17 -0
  472. package/templates/production-product-configurator/src/main.ts +16 -0
  473. package/templates/production-product-viewer/README.md +7 -0
  474. package/templates/production-product-viewer/asset-manifest.json +8 -0
  475. package/templates/production-product-viewer/index.html +26 -0
  476. package/templates/production-product-viewer/package.json +17 -0
  477. package/templates/production-product-viewer/src/main.ts +70 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MeshComponent.js","sourceRoot":"","sources":["../../../../../packages/ecs/src/components/MeshComponent.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACxB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,UAAU,GAAG,IAAI,CAAC;IAClB,aAAa,GAAG,IAAI,CAAC;IACrB,QAAQ,CAA0B;IAClC,YAAY,CAAqB;IACjC,kBAAkB,CAAgB;IAClC,cAAc,CAAgB;IAE9B,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"MeshComponent.js","sourceRoot":"","sources":["../../../../../packages/ecs/src/components/MeshComponent.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACxB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,UAAU,GAAG,IAAI,CAAC;IAClB,aAAa,GAAG,IAAI,CAAC;IACrB,QAAQ,CAA8B;IACtC,YAAY,CAAqB;IACjC,kBAAkB,CAAgB;IAClC,cAAc,CAAgB;IAE9B,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,111 @@
1
+ import { EditorRuntime } from "./EditorRuntime";
2
+ import type { EpisodeReviewPanelSnapshot } from "./EpisodeReviewPanel";
3
+ import type { HierarchyLikeNode } from "./HierarchyModel";
4
+ import type { RenderQueuePanelSnapshot } from "./RenderQueuePanel";
5
+ import { AssetDropZone, type AssetDropPlacement, type CartoonAssetCategory, type CartoonEditorAssetReference } from "./AssetDropZone";
6
+ export interface CartoonSceneTransform {
7
+ position: {
8
+ x: number;
9
+ y: number;
10
+ z: number;
11
+ };
12
+ rotation: {
13
+ x: number;
14
+ y: number;
15
+ z: number;
16
+ w: number;
17
+ };
18
+ scale: {
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ }
24
+ export interface CartoonSceneNode extends HierarchyLikeNode {
25
+ readonly id: string;
26
+ name: string;
27
+ kind: CartoonAssetCategory;
28
+ visible: boolean;
29
+ asset?: CartoonEditorAssetReference;
30
+ transform: CartoonSceneTransform;
31
+ animationClips: string[];
32
+ material?: string;
33
+ readonly children: CartoonSceneNode[];
34
+ }
35
+ export interface CartoonSceneEditorSnapshot {
36
+ readonly nodeCount: number;
37
+ readonly selectedIds: readonly (string | number)[];
38
+ readonly placedAssetCount: number;
39
+ readonly cameraPreviewId: string | null;
40
+ readonly hierarchy: ReturnType<EditorRuntime["flattenHierarchy"]>;
41
+ readonly evidence: {
42
+ readonly assetPlacement: boolean;
43
+ readonly transformGizmos: true;
44
+ readonly propertyInspector: true;
45
+ readonly sceneSaveLoad: true;
46
+ readonly episodeState: boolean;
47
+ };
48
+ readonly episode: CartoonSceneEpisodeSnapshot;
49
+ }
50
+ export interface CartoonSceneEditorOptions {
51
+ readonly runtime?: EditorRuntime;
52
+ readonly root?: CartoonSceneNode;
53
+ readonly episode?: Partial<CartoonSceneEpisodeState>;
54
+ }
55
+ export interface CartoonSceneEpisodeState {
56
+ readonly shots: readonly string[];
57
+ readonly assets: readonly string[];
58
+ readonly captions: readonly string[];
59
+ readonly visemes: readonly string[];
60
+ readonly renderState?: RenderQueuePanelSnapshot;
61
+ readonly reviewState?: EpisodeReviewPanelSnapshot;
62
+ }
63
+ export interface CartoonSceneEpisodeSnapshot extends CartoonSceneEpisodeState {
64
+ readonly shotCount: number;
65
+ readonly assetCount: number;
66
+ readonly captionCount: number;
67
+ readonly visemeCount: number;
68
+ readonly hasRenderState: boolean;
69
+ readonly hasReviewState: boolean;
70
+ }
71
+ export declare class CartoonSceneEditor {
72
+ readonly runtime: EditorRuntime;
73
+ readonly root: CartoonSceneNode;
74
+ readonly dropZone: AssetDropZone<CartoonSceneNode>;
75
+ private cameraPreviewIdInternal;
76
+ private episodeState;
77
+ constructor(options?: CartoonSceneEditorOptions);
78
+ placeAsset(asset: CartoonEditorAssetReference, placement?: AssetDropPlacement): Promise<CartoonSceneNode>;
79
+ addEmptyNode(config: {
80
+ readonly id?: string;
81
+ readonly name: string;
82
+ readonly kind?: CartoonAssetCategory;
83
+ readonly parentId?: string;
84
+ }): Promise<CartoonSceneNode>;
85
+ removeNode(id: string): Promise<void>;
86
+ setTransform(id: string, transform: Partial<CartoonSceneTransform>): Promise<void>;
87
+ selectNode(id: string): void;
88
+ setCameraPreview(id: string | null): void;
89
+ setEpisodeState(state: Partial<CartoonSceneEpisodeState>): CartoonSceneEpisodeSnapshot;
90
+ serializeScene(): CartoonSceneNode;
91
+ loadScene(root: CartoonSceneNode): void;
92
+ flattenHierarchy(): ReturnType<EditorRuntime["flattenHierarchy"]>;
93
+ inspectSelected(): readonly ReturnType<EditorRuntime["inspect"]>[number][];
94
+ snapshot(): CartoonSceneEditorSnapshot;
95
+ private episodeSnapshot;
96
+ private createNodeFromAsset;
97
+ private addNode;
98
+ private requireNode;
99
+ }
100
+ export declare function createCartoonSceneNode(config: {
101
+ readonly id: string;
102
+ readonly name: string;
103
+ readonly kind: CartoonAssetCategory;
104
+ readonly asset?: CartoonEditorAssetReference;
105
+ readonly transform?: CartoonSceneTransform;
106
+ readonly visible?: boolean;
107
+ readonly animationClips?: readonly string[];
108
+ readonly material?: string;
109
+ readonly children?: readonly CartoonSceneNode[];
110
+ }): CartoonSceneNode;
111
+ //# sourceMappingURL=CartoonSceneEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonSceneEditor.d.ts","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/CartoonSceneEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,285 @@
1
+ import { EditorRuntime } from "./EditorRuntime.js";
2
+ import { AssetDropZone } from "./AssetDropZone.js";
3
+ export class CartoonSceneEditor {
4
+ runtime;
5
+ root;
6
+ dropZone;
7
+ cameraPreviewIdInternal = null;
8
+ episodeState;
9
+ constructor(options = {}) {
10
+ this.runtime = options.runtime ?? new EditorRuntime();
11
+ this.root = options.root ?? createCartoonSceneNode({ id: "scene-root", name: "Scene", kind: "set" });
12
+ this.episodeState = normalizeEpisodeState(options.episode ?? {});
13
+ this.dropZone = new AssetDropZone({
14
+ history: this.runtime.history,
15
+ createNode: (asset, placement) => this.createNodeFromAsset(asset, placement),
16
+ addNode: (node, placement) => this.addNode(node, placement.targetId),
17
+ removeNode: (node) => this.removeNode(node.id)
18
+ });
19
+ }
20
+ async placeAsset(asset, placement = {}) {
21
+ const result = await this.dropZone.dropAsset(asset, placement);
22
+ this.runtime.select([result.node.id]);
23
+ return result.node;
24
+ }
25
+ async addEmptyNode(config) {
26
+ const node = createCartoonSceneNode({
27
+ id: config.id ?? stableNodeId(config.name),
28
+ name: config.name,
29
+ kind: config.kind ?? "prop"
30
+ });
31
+ await this.runtime.history.execute(new AddCartoonNodeCommand(this.root, node, config.parentId));
32
+ return node;
33
+ }
34
+ async removeNode(id) {
35
+ if (id === this.root.id)
36
+ throw new Error("Cannot remove the root cartoon scene node.");
37
+ const parent = findParent(this.root, id);
38
+ const node = findNode(this.root, id);
39
+ if (!parent || !node)
40
+ throw new Error(`Cartoon scene node does not exist: ${id}`);
41
+ await this.runtime.history.execute(new RemoveCartoonNodeCommand(parent, node));
42
+ this.runtime.pruneSelection((selectionId) => selectionId !== id);
43
+ }
44
+ async setTransform(id, transform) {
45
+ const node = this.requireNode(id);
46
+ await this.runtime.history.execute(new SetCartoonTransformCommand(node, mergeTransform(node.transform, transform)));
47
+ }
48
+ selectNode(id) {
49
+ this.requireNode(id);
50
+ this.runtime.select([id]);
51
+ }
52
+ setCameraPreview(id) {
53
+ if (id !== null) {
54
+ const node = this.requireNode(id);
55
+ if (node.kind !== "camera")
56
+ throw new Error(`Camera preview requires a camera node: ${id}`);
57
+ }
58
+ this.cameraPreviewIdInternal = id;
59
+ }
60
+ setEpisodeState(state) {
61
+ this.episodeState = normalizeEpisodeState({ ...this.episodeState, ...state });
62
+ return this.episodeSnapshot();
63
+ }
64
+ serializeScene() {
65
+ return cloneNode(this.root);
66
+ }
67
+ loadScene(root) {
68
+ this.root.children.splice(0, this.root.children.length, ...root.children.map(cloneNode));
69
+ this.root.name = root.name;
70
+ this.root.visible = root.visible;
71
+ this.runtime.clearSelection();
72
+ }
73
+ flattenHierarchy() {
74
+ return this.runtime.flattenHierarchy(this.root);
75
+ }
76
+ inspectSelected() {
77
+ const selected = this.runtime.currentSelection()[0];
78
+ if (selected === undefined)
79
+ return [];
80
+ return this.runtime.inspect(this.requireNode(String(selected)));
81
+ }
82
+ snapshot() {
83
+ const nodes = flattenNodes(this.root);
84
+ return {
85
+ nodeCount: nodes.length,
86
+ selectedIds: this.runtime.currentSelection(),
87
+ placedAssetCount: nodes.filter((node) => node.asset).length,
88
+ cameraPreviewId: this.cameraPreviewIdInternal,
89
+ hierarchy: this.flattenHierarchy(),
90
+ evidence: {
91
+ assetPlacement: nodes.some((node) => node.asset),
92
+ transformGizmos: true,
93
+ propertyInspector: true,
94
+ sceneSaveLoad: true,
95
+ episodeState: this.episodeState.shots.length > 0
96
+ || this.episodeState.captions.length > 0
97
+ || this.episodeState.visemes.length > 0
98
+ || Boolean(this.episodeState.renderState)
99
+ || Boolean(this.episodeState.reviewState)
100
+ },
101
+ episode: this.episodeSnapshot()
102
+ };
103
+ }
104
+ episodeSnapshot() {
105
+ return {
106
+ ...this.episodeState,
107
+ shotCount: this.episodeState.shots.length,
108
+ assetCount: this.episodeState.assets.length,
109
+ captionCount: this.episodeState.captions.length,
110
+ visemeCount: this.episodeState.visemes.length,
111
+ hasRenderState: Boolean(this.episodeState.renderState),
112
+ hasReviewState: Boolean(this.episodeState.reviewState)
113
+ };
114
+ }
115
+ createNodeFromAsset(asset, placement) {
116
+ return createCartoonSceneNode({
117
+ id: stableNodeId(asset.id),
118
+ name: asset.name,
119
+ kind: asset.category ?? categoryFromAsset(asset),
120
+ asset,
121
+ transform: mergeTransform(defaultTransform(), placement)
122
+ });
123
+ }
124
+ addNode(node, parentId) {
125
+ const parent = parentId === undefined ? this.root : this.requireNode(String(parentId));
126
+ parent.children.push(node);
127
+ }
128
+ requireNode(id) {
129
+ const node = findNode(this.root, id);
130
+ if (!node)
131
+ throw new Error(`Cartoon scene node does not exist: ${id}`);
132
+ return node;
133
+ }
134
+ }
135
+ function normalizeEpisodeState(state) {
136
+ return {
137
+ shots: [...(state.shots ?? [])],
138
+ assets: [...(state.assets ?? [])],
139
+ captions: [...(state.captions ?? [])],
140
+ visemes: [...(state.visemes ?? [])],
141
+ renderState: state.renderState,
142
+ reviewState: state.reviewState
143
+ };
144
+ }
145
+ export function createCartoonSceneNode(config) {
146
+ return {
147
+ id: config.id,
148
+ name: config.name,
149
+ kind: config.kind,
150
+ visible: config.visible ?? true,
151
+ asset: config.asset,
152
+ transform: config.transform ?? defaultTransform(),
153
+ animationClips: [...(config.animationClips ?? config.asset?.clips ?? [])],
154
+ material: config.material,
155
+ children: [...(config.children ?? [])]
156
+ };
157
+ }
158
+ class AddCartoonNodeCommand {
159
+ root;
160
+ node;
161
+ parentId;
162
+ name;
163
+ constructor(root, node, parentId) {
164
+ this.root = root;
165
+ this.node = node;
166
+ this.parentId = parentId;
167
+ this.name = `Add cartoon node ${node.id}`;
168
+ }
169
+ execute() {
170
+ const parent = this.parentId ? findNode(this.root, this.parentId) : this.root;
171
+ if (!parent)
172
+ throw new Error(`Cartoon scene parent does not exist: ${this.parentId}`);
173
+ if (!parent.children.includes(this.node))
174
+ parent.children.push(this.node);
175
+ }
176
+ undo() {
177
+ const parent = findParent(this.root, this.node.id);
178
+ if (parent)
179
+ removeChild(parent, this.node);
180
+ }
181
+ }
182
+ class RemoveCartoonNodeCommand {
183
+ parent;
184
+ node;
185
+ name;
186
+ index = -1;
187
+ constructor(parent, node) {
188
+ this.parent = parent;
189
+ this.node = node;
190
+ this.name = `Remove cartoon node ${node.id}`;
191
+ }
192
+ execute() {
193
+ this.index = this.parent.children.indexOf(this.node);
194
+ removeChild(this.parent, this.node);
195
+ }
196
+ undo() {
197
+ if (!this.parent.children.includes(this.node)) {
198
+ this.parent.children.splice(this.index < 0 ? this.parent.children.length : this.index, 0, this.node);
199
+ }
200
+ }
201
+ }
202
+ class SetCartoonTransformCommand {
203
+ node;
204
+ after;
205
+ name;
206
+ before;
207
+ constructor(node, after) {
208
+ this.node = node;
209
+ this.after = after;
210
+ this.name = `Set cartoon transform ${node.id}`;
211
+ this.before = cloneTransform(node.transform);
212
+ }
213
+ execute() {
214
+ this.node.transform = cloneTransform(this.after);
215
+ }
216
+ undo() {
217
+ this.node.transform = cloneTransform(this.before);
218
+ }
219
+ }
220
+ function categoryFromAsset(asset) {
221
+ if (asset.type === "audio")
222
+ return "audio";
223
+ if (asset.type === "material")
224
+ return "material";
225
+ if (asset.clips && asset.clips.length > 0)
226
+ return "character";
227
+ return "prop";
228
+ }
229
+ function findNode(root, id) {
230
+ if (root.id === id)
231
+ return root;
232
+ for (const child of root.children) {
233
+ const found = findNode(child, id);
234
+ if (found)
235
+ return found;
236
+ }
237
+ return undefined;
238
+ }
239
+ function findParent(root, id) {
240
+ for (const child of root.children) {
241
+ if (child.id === id)
242
+ return root;
243
+ const found = findParent(child, id);
244
+ if (found)
245
+ return found;
246
+ }
247
+ return undefined;
248
+ }
249
+ function flattenNodes(root) {
250
+ return [root, ...root.children.flatMap((child) => flattenNodes(child))];
251
+ }
252
+ function removeChild(parent, node) {
253
+ const index = parent.children.indexOf(node);
254
+ if (index >= 0)
255
+ parent.children.splice(index, 1);
256
+ }
257
+ function defaultTransform() {
258
+ return {
259
+ position: { x: 0, y: 0, z: 0 },
260
+ rotation: { x: 0, y: 0, z: 0, w: 1 },
261
+ scale: { x: 1, y: 1, z: 1 }
262
+ };
263
+ }
264
+ function mergeTransform(base, next) {
265
+ return {
266
+ position: { ...base.position, ...(next.position ?? {}) },
267
+ rotation: { ...base.rotation, ...(next.rotation ?? {}) },
268
+ scale: { ...base.scale, ...(next.scale ?? {}) }
269
+ };
270
+ }
271
+ function cloneTransform(transform) {
272
+ return mergeTransform(defaultTransform(), transform);
273
+ }
274
+ function cloneNode(node) {
275
+ return createCartoonSceneNode({
276
+ ...node,
277
+ transform: cloneTransform(node.transform),
278
+ animationClips: [...node.animationClips],
279
+ children: node.children.map(cloneNode)
280
+ });
281
+ }
282
+ function stableNodeId(name) {
283
+ return `node-${name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "item"}`;
284
+ }
285
+ //# sourceMappingURL=CartoonSceneEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartoonSceneEditor.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/CartoonSceneEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { Ray } from "@aura3d/math";
2
+ import type { GizmoHandle, GizmoSettings, GizmoSpaceMode } from "./Gizmo";
3
+ export type InteractiveGizmoMode = "translate" | "rotate" | "scale";
4
+ /**
5
+ * One pickable, renderable gizmo handle.
6
+ *
7
+ * Handles are described in gizmo-local space and transformed by the gizmo's own
8
+ * origin and (in local space mode) the target's orientation, so the same descriptor
9
+ * set serves both world and local modes.
10
+ */
11
+ export interface GizmoHandleGeometry {
12
+ readonly handle: GizmoHandle;
13
+ readonly kind: "axis-arrow" | "plane-quad" | "rotation-ring" | "uniform-box";
14
+ /** Line segments in world space, for rendering the handle. */
15
+ readonly segments: readonly {
16
+ readonly start: readonly [number, number, number];
17
+ readonly end: readonly [number, number, number];
18
+ }[];
19
+ readonly color: readonly [number, number, number, number];
20
+ /** Axis direction in world space. Undefined for uniform handles. */
21
+ readonly direction?: readonly [number, number, number];
22
+ }
23
+ export interface GizmoPickResult {
24
+ readonly handle: GizmoHandle;
25
+ /** Distance along the ray to the picked point. */
26
+ readonly distance: number;
27
+ /** World-space point on the handle nearest the ray. */
28
+ readonly point: readonly [number, number, number];
29
+ }
30
+ export interface GizmoDragUpdate {
31
+ readonly handle: GizmoHandle;
32
+ readonly mode: InteractiveGizmoMode;
33
+ /** Signed movement along the constrained axis, in world units (translate/scale). */
34
+ readonly axisDelta: number;
35
+ /** Signed rotation about the constrained axis, in radians. */
36
+ readonly rotationDelta: number;
37
+ /** Accumulated value since drag start, after snapping. */
38
+ readonly totalDelta: number;
39
+ readonly snapped: boolean;
40
+ }
41
+ export interface InteractiveGizmoState {
42
+ readonly mode: InteractiveGizmoMode;
43
+ readonly spaceMode: GizmoSpaceMode;
44
+ readonly origin: readonly [number, number, number];
45
+ readonly hoveredHandle: GizmoHandle | undefined;
46
+ readonly activeHandle: GizmoHandle | undefined;
47
+ readonly dragging: boolean;
48
+ readonly handleCount: number;
49
+ }
50
+ export interface InteractiveTransformGizmoOptions {
51
+ readonly mode?: InteractiveGizmoMode;
52
+ readonly settings?: Partial<GizmoSettings>;
53
+ /** Gizmo arm length in world units. */
54
+ readonly size?: number;
55
+ /** Pick radius around each handle, in world units. */
56
+ readonly pickTolerance?: number;
57
+ }
58
+ /**
59
+ * Interactive transform gizmo: rendered handles, ray picking, and a pointer drag
60
+ * lifecycle with axis constraints, snapping, and local/world spaces.
61
+ *
62
+ * This is the piece the command-backed `TransformControls` compatibility helper never
63
+ * had. That helper applied explicit deltas and had no geometry, no picking, and no
64
+ * drag state, which is why interactive parity could not be claimed from it.
65
+ *
66
+ * Drag math is deliberately projection-free: a pointer ray is intersected against a
67
+ * plane through the gizmo origin, and the resulting world point is projected onto the
68
+ * constrained axis. That keeps the geometry testable without a live camera while
69
+ * remaining exactly what a viewport would feed it.
70
+ */
71
+ export declare class InteractiveTransformGizmo {
72
+ private mode;
73
+ private settings;
74
+ private readonly size;
75
+ private readonly pickTolerance;
76
+ private origin;
77
+ /** Target orientation as a quaternion, used for local-space handle directions. */
78
+ private orientation;
79
+ private hoveredHandle;
80
+ private activeHandle;
81
+ private dragStartValue;
82
+ private accumulated;
83
+ private dragging;
84
+ constructor(options?: InteractiveTransformGizmoOptions);
85
+ setMode(mode: InteractiveGizmoMode): void;
86
+ configure(settings: Partial<GizmoSettings>): void;
87
+ /** Places the gizmo and records the orientation used for local-space handles. */
88
+ place(origin: readonly [number, number, number], orientation?: readonly [number, number, number, number]): void;
89
+ state(): InteractiveGizmoState;
90
+ /**
91
+ * Renderable, pickable handle geometry for the current mode and space.
92
+ *
93
+ * Translate and scale expose three axis handles plus three plane handles; rotate
94
+ * exposes three rings. Local space rotates every direction by the target
95
+ * orientation, which is the difference a viewport actually shows.
96
+ */
97
+ handles(): readonly GizmoHandleGeometry[];
98
+ /**
99
+ * Picks the nearest handle along a pointer ray.
100
+ *
101
+ * Axis handles use ray-to-segment closest approach; rings use ray-to-plane
102
+ * intersection with a radial band test. Returning the distance lets a caller sort
103
+ * gizmo picks against scene geometry picks.
104
+ */
105
+ pick(ray: Ray): GizmoPickResult | undefined;
106
+ /** Updates hover state from a pointer ray. Returns the hovered handle, if any. */
107
+ hover(ray: Ray): GizmoHandle | undefined;
108
+ /**
109
+ * Begins a drag on whichever handle the ray picks.
110
+ *
111
+ * Returns false when nothing was picked, so a viewport can fall through to scene
112
+ * selection instead of swallowing the pointer.
113
+ */
114
+ pointerDown(ray: Ray): boolean;
115
+ /** Continues an active drag. Returns undefined when no drag is in progress. */
116
+ pointerMove(ray: Ray): GizmoDragUpdate | undefined;
117
+ /** Ends an active drag and reports the committed total. */
118
+ pointerUp(): {
119
+ readonly handle: GizmoHandle;
120
+ readonly totalDelta: number;
121
+ } | undefined;
122
+ /** Aborts a drag without committing, for example on Escape or focus loss. */
123
+ cancelDrag(): void;
124
+ dispose(): void;
125
+ /**
126
+ * Scalar the drag is measured along for a handle.
127
+ *
128
+ * Axis handles measure distance along the axis; plane handles measure along the
129
+ * plane's first in-plane direction; rings measure an angle about the ring normal.
130
+ */
131
+ private measure;
132
+ private handleDirections;
133
+ private applySnap;
134
+ /** Rotates a gizmo-local direction into the active space. */
135
+ private toActiveSpace;
136
+ private ringSegments;
137
+ private ringPoint;
138
+ private uniformBoxSegments;
139
+ private pickSegments;
140
+ private pickRing;
141
+ }
142
+ //# sourceMappingURL=InteractiveTransformGizmo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractiveTransformGizmo.d.ts","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/InteractiveTransformGizmo.ts"],"names":[],"mappings":"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"}