af-motion 0.0.0-stage → 1.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 (592) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +201 -0
  3. package/README.md +203 -3
  4. package/RELEASE_NOTES.md +115 -0
  5. package/bin/af-motion.js +16 -0
  6. package/bin/mcp-server.js +21 -0
  7. package/dist/3d/adapter.d.ts +29 -0
  8. package/dist/3d/assets/cache.d.ts +71 -0
  9. package/dist/3d/assets/index.d.ts +10 -0
  10. package/dist/3d/assets/inspection.d.ts +19 -0
  11. package/dist/3d/assets/loaders.d.ts +30 -0
  12. package/dist/3d/assets/manager.d.ts +69 -0
  13. package/dist/3d/assets/scene-integration.d.ts +23 -0
  14. package/dist/3d/assets/types.d.ts +80 -0
  15. package/dist/3d/assets/validation.d.ts +12 -0
  16. package/dist/3d/camera/index.d.ts +7 -0
  17. package/dist/3d/camera/presets.d.ts +8 -0
  18. package/dist/3d/camera/transitions.d.ts +19 -0
  19. package/dist/3d/camera/types.d.ts +37 -0
  20. package/dist/3d/camera/validation.d.ts +9 -0
  21. package/dist/3d/capabilities.d.ts +11 -0
  22. package/dist/3d/composition/fallback.d.ts +20 -0
  23. package/dist/3d/composition/generation.d.ts +24 -0
  24. package/dist/3d/composition/index.d.ts +12 -0
  25. package/dist/3d/composition/quality.d.ts +35 -0
  26. package/dist/3d/composition/recipes.d.ts +34 -0
  27. package/dist/3d/composition/types.d.ts +88 -0
  28. package/dist/3d/composition/unified.d.ts +18 -0
  29. package/dist/3d/environment/index.d.ts +6 -0
  30. package/dist/3d/environment/presets.d.ts +8 -0
  31. package/dist/3d/environment/types.d.ts +36 -0
  32. package/dist/3d/environment/validation.d.ts +9 -0
  33. package/dist/3d/geometry/cache.d.ts +37 -0
  34. package/dist/3d/geometry/generators.d.ts +24 -0
  35. package/dist/3d/geometry/hash.d.ts +10 -0
  36. package/dist/3d/geometry/index.d.ts +9 -0
  37. package/dist/3d/geometry/three-adapter.d.ts +15 -0
  38. package/dist/3d/geometry/types.d.ts +120 -0
  39. package/dist/3d/geometry/validation.d.ts +6 -0
  40. package/dist/3d/index.d.ts +32 -0
  41. package/dist/3d/interaction/camera-controls.d.ts +58 -0
  42. package/dist/3d/interaction/index.d.ts +8 -0
  43. package/dist/3d/interaction/manager.d.ts +61 -0
  44. package/dist/3d/interaction/presets.d.ts +9 -0
  45. package/dist/3d/interaction/raycaster.d.ts +20 -0
  46. package/dist/3d/interaction/types.d.ts +78 -0
  47. package/dist/3d/lighting/index.d.ts +6 -0
  48. package/dist/3d/lighting/presets.d.ts +8 -0
  49. package/dist/3d/lighting/types.d.ts +31 -0
  50. package/dist/3d/lighting/validation.d.ts +17 -0
  51. package/dist/3d/materials/bridge.d.ts +11 -0
  52. package/dist/3d/materials/index.d.ts +7 -0
  53. package/dist/3d/materials/presets.d.ts +9 -0
  54. package/dist/3d/materials/types.d.ts +43 -0
  55. package/dist/3d/materials/validation.d.ts +9 -0
  56. package/dist/3d/morphing/animator.d.ts +19 -0
  57. package/dist/3d/morphing/correspondence.d.ts +32 -0
  58. package/dist/3d/morphing/geometry.d.ts +28 -0
  59. package/dist/3d/morphing/index.d.ts +16 -0
  60. package/dist/3d/morphing/interpolation.d.ts +45 -0
  61. package/dist/3d/morphing/morph.d.ts +18 -0
  62. package/dist/3d/morphing/presets.d.ts +31 -0
  63. package/dist/3d/morphing/react.d.ts +29 -0
  64. package/dist/3d/morphing/topology.d.ts +34 -0
  65. package/dist/3d/morphing/types.d.ts +138 -0
  66. package/dist/3d/morphing/validation.d.ts +19 -0
  67. package/dist/3d/optimization/analysis.d.ts +14 -0
  68. package/dist/3d/optimization/colliders.d.ts +16 -0
  69. package/dist/3d/optimization/geometry.d.ts +22 -0
  70. package/dist/3d/optimization/hierarchy.d.ts +14 -0
  71. package/dist/3d/optimization/index.d.ts +33 -0
  72. package/dist/3d/optimization/lod.d.ts +13 -0
  73. package/dist/3d/optimization/materials.d.ts +12 -0
  74. package/dist/3d/optimization/recommendations.d.ts +13 -0
  75. package/dist/3d/optimization/skeleton.d.ts +20 -0
  76. package/dist/3d/optimization/types.d.ts +252 -0
  77. package/dist/3d/physics/benchmark.d.ts +76 -0
  78. package/dist/3d/physics/body/inertia.d.ts +61 -0
  79. package/dist/3d/physics/collision/ccd.d.ts +26 -0
  80. package/dist/3d/physics/collision/narrowphase.d.ts +15 -0
  81. package/dist/3d/physics/collision/shapes.d.ts +45 -0
  82. package/dist/3d/physics/constraints/advanced.d.ts +40 -0
  83. package/dist/3d/physics/constraints/solver.d.ts +34 -0
  84. package/dist/3d/physics/constraints/types.d.ts +106 -0
  85. package/dist/3d/physics/events.d.ts +34 -0
  86. package/dist/3d/physics/index.d.ts +29 -0
  87. package/dist/3d/physics/material.d.ts +27 -0
  88. package/dist/3d/physics/math.d.ts +79 -0
  89. package/dist/3d/physics/soft/cloth.d.ts +12 -0
  90. package/dist/3d/physics/soft/collision.d.ts +12 -0
  91. package/dist/3d/physics/soft/gpu.d.ts +19 -0
  92. package/dist/3d/physics/soft/pbd.d.ts +20 -0
  93. package/dist/3d/physics/soft/rope.d.ts +16 -0
  94. package/dist/3d/physics/soft/soft-body.d.ts +12 -0
  95. package/dist/3d/physics/soft/types.d.ts +212 -0
  96. package/dist/3d/physics/solver/integrators.d.ts +25 -0
  97. package/dist/3d/physics/solver/types.d.ts +28 -0
  98. package/dist/3d/physics/spatial/spatial-hash.d.ts +51 -0
  99. package/dist/3d/physics/types.d.ts +579 -0
  100. package/dist/3d/physics/world.d.ts +106 -0
  101. package/dist/3d/r3f.d.ts +34 -0
  102. package/dist/3d/scene.d.ts +8 -0
  103. package/dist/3d/schema.d.ts +739 -0
  104. package/dist/3d/schemas/ai-integration.d.ts +201 -0
  105. package/dist/3d/schemas/correction.d.ts +11 -0
  106. package/dist/3d/schemas/index.d.ts +12 -0
  107. package/dist/3d/schemas/schemas.d.ts +361 -0
  108. package/dist/3d/schemas/serialization.d.ts +22 -0
  109. package/dist/3d/schemas/types.d.ts +199 -0
  110. package/dist/3d/schemas/validation.d.ts +33 -0
  111. package/dist/3d/scroll/controller.d.ts +32 -0
  112. package/dist/3d/scroll/index.d.ts +6 -0
  113. package/dist/3d/scroll/presets.d.ts +9 -0
  114. package/dist/3d/scroll/types.d.ts +53 -0
  115. package/dist/3d/terrain/biomes.d.ts +18 -0
  116. package/dist/3d/terrain/chunks.d.ts +20 -0
  117. package/dist/3d/terrain/erosion.d.ts +15 -0
  118. package/dist/3d/terrain/heightmap.d.ts +27 -0
  119. package/dist/3d/terrain/index.d.ts +18 -0
  120. package/dist/3d/terrain/materials.d.ts +20 -0
  121. package/dist/3d/terrain/noise.d.ts +25 -0
  122. package/dist/3d/terrain/physics.d.ts +34 -0
  123. package/dist/3d/terrain/terrain.d.ts +12 -0
  124. package/dist/3d/terrain/types.d.ts +235 -0
  125. package/dist/3d/terrain/vegetation.d.ts +14 -0
  126. package/dist/3d/types.d.ts +176 -0
  127. package/dist/3d/world/hydrology.d.ts +12 -0
  128. package/dist/3d/world/index.d.ts +15 -0
  129. package/dist/3d/world/lighting.d.ts +16 -0
  130. package/dist/3d/world/pipeline.d.ts +20 -0
  131. package/dist/3d/world/population.d.ts +12 -0
  132. package/dist/3d/world/presets.d.ts +11 -0
  133. package/dist/3d/world/streaming.d.ts +13 -0
  134. package/dist/3d/world/types.d.ts +272 -0
  135. package/dist/3d/world/world.d.ts +64 -0
  136. package/dist/backgrounds/advanced-gradient.d.ts +32 -0
  137. package/dist/backgrounds/atmospheric-backgrounds.d.ts +79 -0
  138. package/dist/backgrounds/aurora.d.ts +24 -0
  139. package/dist/backgrounds/cosmic-background.d.ts +31 -0
  140. package/dist/backgrounds/energy-effects.d.ts +78 -0
  141. package/dist/backgrounds/floating-orbs.d.ts +26 -0
  142. package/dist/backgrounds/fluid-backgrounds.d.ts +72 -0
  143. package/dist/backgrounds/geometric-backgrounds.d.ts +78 -0
  144. package/dist/backgrounds/gradient.d.ts +20 -0
  145. package/dist/backgrounds/grid.d.ts +22 -0
  146. package/dist/backgrounds/internal/canvas-lifecycle.d.ts +29 -0
  147. package/dist/backgrounds/noise.d.ts +20 -0
  148. package/dist/backgrounds/particle-background.d.ts +37 -0
  149. package/dist/backgrounds/particle-field.d.ts +22 -0
  150. package/dist/backgrounds/spotlight.d.ts +20 -0
  151. package/dist/backgrounds/wave.d.ts +22 -0
  152. package/dist/catalogue.d.ts +227 -0
  153. package/dist/catalogue.js +4 -0
  154. package/dist/chunks/catalogue-ZmbeEdRo.js +59850 -0
  155. package/dist/chunks/core-animation-CeiI_TEe.js +1394 -0
  156. package/dist/chunks/motion-choreography-DC6LWvDk.js +4089 -0
  157. package/dist/chunks/pointer-capture-lrnKAl2I.js +158 -0
  158. package/dist/chunks/safe-json-D5j34GEB.js +62 -0
  159. package/dist/chunks/scroll-velocity-BNUHaS0-.js +904 -0
  160. package/dist/cli/commands/doctor.d.ts +9 -0
  161. package/dist/cli/commands/example.d.ts +9 -0
  162. package/dist/cli/commands/info.d.ts +8 -0
  163. package/dist/cli/commands/init.d.ts +9 -0
  164. package/dist/cli/commands/presets.d.ts +10 -0
  165. package/dist/cli/commands/validate.d.ts +9 -0
  166. package/dist/cli/index.d.ts +22 -0
  167. package/dist/cli/types.d.ts +115 -0
  168. package/dist/cli/utils/safety.d.ts +11 -0
  169. package/dist/cli/utils/templates.d.ts +16 -0
  170. package/dist/cli/utils/terminal.d.ts +29 -0
  171. package/dist/cli.js +825 -0
  172. package/dist/core/adaptive-motion.d.ts +100 -0
  173. package/dist/core/adaptive-quality/controller.d.ts +61 -0
  174. package/dist/core/adaptive-quality/index.d.ts +13 -0
  175. package/dist/core/adaptive-quality/metrics.d.ts +33 -0
  176. package/dist/core/adaptive-quality/policies.d.ts +40 -0
  177. package/dist/core/adaptive-quality/profile.d.ts +58 -0
  178. package/dist/core/adaptive-quality/react.d.ts +57 -0
  179. package/dist/core/adaptive-quality/recommendation.d.ts +12 -0
  180. package/dist/core/adaptive-quality/resolution.d.ts +22 -0
  181. package/dist/core/adaptive-quality/types.d.ts +362 -0
  182. package/dist/core/advanced-motion/adapters.d.ts +20 -0
  183. package/dist/core/advanced-motion/controller.d.ts +52 -0
  184. package/dist/core/advanced-motion/index.d.ts +12 -0
  185. package/dist/core/advanced-motion/recipes.d.ts +16 -0
  186. package/dist/core/advanced-motion/timeline.d.ts +35 -0
  187. package/dist/core/advanced-motion/types.d.ts +174 -0
  188. package/dist/core/advanced-motion/validation.d.ts +11 -0
  189. package/dist/core/agent-workflows/agent-registry.d.ts +21 -0
  190. package/dist/core/agent-workflows/agents/accessibility-agent.d.ts +9 -0
  191. package/dist/core/agent-workflows/agents/composition-agent.d.ts +9 -0
  192. package/dist/core/agent-workflows/agents/design-to-motion-agent.d.ts +9 -0
  193. package/dist/core/agent-workflows/agents/index.d.ts +13 -0
  194. package/dist/core/agent-workflows/agents/motion-intelligence-agent.d.ts +9 -0
  195. package/dist/core/agent-workflows/agents/performance-agent.d.ts +9 -0
  196. package/dist/core/agent-workflows/agents/scene-generation-agent.d.ts +9 -0
  197. package/dist/core/agent-workflows/collaboration-planner.d.ts +38 -0
  198. package/dist/core/agent-workflows/collaboration-workflows.d.ts +83 -0
  199. package/dist/core/agent-workflows/communication.d.ts +29 -0
  200. package/dist/core/agent-workflows/conflict-resolver.d.ts +25 -0
  201. package/dist/core/agent-workflows/context.d.ts +36 -0
  202. package/dist/core/agent-workflows/execution-engine.d.ts +30 -0
  203. package/dist/core/agent-workflows/index.d.ts +20 -0
  204. package/dist/core/agent-workflows/orchestration-types.d.ts +144 -0
  205. package/dist/core/agent-workflows/orchestrator.d.ts +29 -0
  206. package/dist/core/agent-workflows/react.d.ts +71 -0
  207. package/dist/core/agent-workflows/shared-context.d.ts +36 -0
  208. package/dist/core/agent-workflows/task-planner.d.ts +42 -0
  209. package/dist/core/agent-workflows/templates.d.ts +14 -0
  210. package/dist/core/agent-workflows/tool-registry.d.ts +24 -0
  211. package/dist/core/agent-workflows/types.d.ts +167 -0
  212. package/dist/core/ai-ecosystem/capability-registry.d.ts +23 -0
  213. package/dist/core/ai-ecosystem/index.d.ts +13 -0
  214. package/dist/core/ai-ecosystem/pipeline.d.ts +19 -0
  215. package/dist/core/ai-ecosystem/provider.d.ts +19 -0
  216. package/dist/core/ai-ecosystem/types.d.ts +69 -0
  217. package/dist/core/ai-motion-intelligence/engine.d.ts +51 -0
  218. package/dist/core/ai-motion-intelligence/explanation-engine.d.ts +8 -0
  219. package/dist/core/ai-motion-intelligence/index.d.ts +15 -0
  220. package/dist/core/ai-motion-intelligence/intent-classifier.d.ts +14 -0
  221. package/dist/core/ai-motion-intelligence/knowledge-base.d.ts +12 -0
  222. package/dist/core/ai-motion-intelligence/provider.d.ts +31 -0
  223. package/dist/core/ai-motion-intelligence/quality-evaluator.d.ts +9 -0
  224. package/dist/core/ai-motion-intelligence/react.d.ts +14 -0
  225. package/dist/core/ai-motion-intelligence/recommendation-engine.d.ts +16 -0
  226. package/dist/core/ai-motion-intelligence/types.d.ts +134 -0
  227. package/dist/core/ai-motion-registry.d.ts +201 -0
  228. package/dist/core/animate.d.ts +57 -0
  229. package/dist/core/animation-intelligence/engine.d.ts +42 -0
  230. package/dist/core/animation-intelligence/index.d.ts +11 -0
  231. package/dist/core/animation-intelligence/intent.d.ts +15 -0
  232. package/dist/core/animation-intelligence/schema.d.ts +42 -0
  233. package/dist/core/animation-intelligence/scoring.d.ts +15 -0
  234. package/dist/core/animation-intelligence/types.d.ts +91 -0
  235. package/dist/core/animation-parallel.d.ts +37 -0
  236. package/dist/core/animation-presets.d.ts +56 -0
  237. package/dist/core/animation-sequence.d.ts +37 -0
  238. package/dist/core/animation-timeline.d.ts +46 -0
  239. package/dist/core/animation.d.ts +48 -0
  240. package/dist/core/built-in-palettes.d.ts +331 -0
  241. package/dist/core/choreography-intelligence/bridge.d.ts +43 -0
  242. package/dist/core/choreography-intelligence/generator.d.ts +11 -0
  243. package/dist/core/choreography-intelligence/index.d.ts +11 -0
  244. package/dist/core/choreography-intelligence/intent.d.ts +11 -0
  245. package/dist/core/choreography-intelligence/schema.d.ts +76 -0
  246. package/dist/core/choreography-intelligence/types.d.ts +87 -0
  247. package/dist/core/composition.d.ts +170 -0
  248. package/dist/core/configuration-corrector.d.ts +85 -0
  249. package/dist/core/design-intelligence.d.ts +199 -0
  250. package/dist/core/design-system.d.ts +206 -0
  251. package/dist/core/design-to-motion/design-analyzer.d.ts +13 -0
  252. package/dist/core/design-to-motion/engine.d.ts +34 -0
  253. package/dist/core/design-to-motion/generator.d.ts +16 -0
  254. package/dist/core/design-to-motion/index.d.ts +15 -0
  255. package/dist/core/design-to-motion/input-parser.d.ts +17 -0
  256. package/dist/core/design-to-motion/motion-planner.d.ts +11 -0
  257. package/dist/core/design-to-motion/presets.d.ts +11 -0
  258. package/dist/core/design-to-motion/react.d.ts +13 -0
  259. package/dist/core/design-to-motion/types.d.ts +221 -0
  260. package/dist/core/design-to-motion/validator.d.ts +13 -0
  261. package/dist/core/device-capabilities/classification.d.ts +25 -0
  262. package/dist/core/device-capabilities/detection.d.ts +27 -0
  263. package/dist/core/device-capabilities/graphics.d.ts +22 -0
  264. package/dist/core/device-capabilities/hardware.d.ts +27 -0
  265. package/dist/core/device-capabilities/index.d.ts +14 -0
  266. package/dist/core/device-capabilities/monitor.d.ts +19 -0
  267. package/dist/core/device-capabilities/react.d.ts +24 -0
  268. package/dist/core/device-capabilities/runtime.d.ts +11 -0
  269. package/dist/core/device-capabilities/scoring.d.ts +18 -0
  270. package/dist/core/device-capabilities/types.d.ts +171 -0
  271. package/dist/core/effect-composer.d.ts +41 -0
  272. package/dist/core/generation-pipeline.d.ts +135 -0
  273. package/dist/core/inertia.d.ts +30 -0
  274. package/dist/core/interactions/cursor-controller.d.ts +9 -0
  275. package/dist/core/interactions/custom-gestures.d.ts +28 -0
  276. package/dist/core/interactions/device-capabilities.d.ts +12 -0
  277. package/dist/core/interactions/drag-controller.d.ts +60 -0
  278. package/dist/core/interactions/errors.d.ts +13 -0
  279. package/dist/core/interactions/gesture-classifier.d.ts +43 -0
  280. package/dist/core/interactions/gesture-intelligence-controller.d.ts +9 -0
  281. package/dist/core/interactions/gesture-recognizers.d.ts +160 -0
  282. package/dist/core/interactions/gesture-sequence.d.ts +9 -0
  283. package/dist/core/interactions/index.d.ts +27 -0
  284. package/dist/core/interactions/input-normalizer.d.ts +8 -0
  285. package/dist/core/interactions/interaction-manager.d.ts +43 -0
  286. package/dist/core/interactions/keyboard-manager.d.ts +16 -0
  287. package/dist/core/interactions/magnetic-controller.d.ts +9 -0
  288. package/dist/core/interactions/magnetic-group.d.ts +11 -0
  289. package/dist/core/interactions/multitouch-controller.d.ts +62 -0
  290. package/dist/core/interactions/pointer-controller.d.ts +34 -0
  291. package/dist/core/interactions/pointer-tracker.d.ts +32 -0
  292. package/dist/core/interactions/prioritizer.d.ts +17 -0
  293. package/dist/core/interactions/touch-controller.d.ts +35 -0
  294. package/dist/core/interactions/types.d.ts +710 -0
  295. package/dist/core/layout/controller.d.ts +56 -0
  296. package/dist/core/layout/flip.d.ts +21 -0
  297. package/dist/core/layout/group.d.ts +46 -0
  298. package/dist/core/layout/index.d.ts +12 -0
  299. package/dist/core/layout/measure.d.ts +30 -0
  300. package/dist/core/layout/presets.d.ts +24 -0
  301. package/dist/core/layout/types.d.ts +189 -0
  302. package/dist/core/microinteractions/generator.d.ts +11 -0
  303. package/dist/core/microinteractions/index.d.ts +11 -0
  304. package/dist/core/microinteractions/intent.d.ts +11 -0
  305. package/dist/core/microinteractions/runtime.d.ts +25 -0
  306. package/dist/core/microinteractions/schema.d.ts +82 -0
  307. package/dist/core/microinteractions/types.d.ts +79 -0
  308. package/dist/core/motion-choreography.d.ts +163 -0
  309. package/dist/core/motion-dna.d.ts +129 -0
  310. package/dist/core/motion-path/animator.d.ts +13 -0
  311. package/dist/core/motion-path/engine.d.ts +27 -0
  312. package/dist/core/motion-path/follower.d.ts +8 -0
  313. package/dist/core/motion-path/index.d.ts +15 -0
  314. package/dist/core/motion-path/lut.d.ts +33 -0
  315. package/dist/core/motion-path/parser.d.ts +26 -0
  316. package/dist/core/motion-path/segments.d.ts +16 -0
  317. package/dist/core/motion-path/types.d.ts +178 -0
  318. package/dist/core/motion-path/vector3.d.ts +49 -0
  319. package/dist/core/motion-recipe.d.ts +171 -0
  320. package/dist/core/motion-states.d.ts +43 -0
  321. package/dist/core/motion-validation/consistency.d.ts +11 -0
  322. package/dist/core/motion-validation/index.d.ts +11 -0
  323. package/dist/core/motion-validation/optimizer.d.ts +11 -0
  324. package/dist/core/motion-validation/schema.d.ts +81 -0
  325. package/dist/core/motion-validation/types.d.ts +53 -0
  326. package/dist/core/motion-validation/validator.d.ts +11 -0
  327. package/dist/core/motion.d.ts +7 -0
  328. package/dist/core/natural-motion.d.ts +110 -0
  329. package/dist/core/palette-colors.d.ts +16 -0
  330. package/dist/core/palette-styles.d.ts +12 -0
  331. package/dist/core/palettes.d.ts +59 -0
  332. package/dist/core/performance-intelligence/conflicts.d.ts +21 -0
  333. package/dist/core/performance-intelligence/context.d.ts +48 -0
  334. package/dist/core/performance-intelligence/coordinator.d.ts +84 -0
  335. package/dist/core/performance-intelligence/decisions.d.ts +17 -0
  336. package/dist/core/performance-intelligence/history.d.ts +44 -0
  337. package/dist/core/performance-intelligence/index.d.ts +15 -0
  338. package/dist/core/performance-intelligence/policies.d.ts +59 -0
  339. package/dist/core/performance-intelligence/react.d.ts +78 -0
  340. package/dist/core/performance-intelligence/report.d.ts +16 -0
  341. package/dist/core/performance-intelligence/scoring.d.ts +16 -0
  342. package/dist/core/performance-intelligence/types.d.ts +203 -0
  343. package/dist/core/performance-optimizer/bottlenecks.d.ts +9 -0
  344. package/dist/core/performance-optimizer/index.d.ts +13 -0
  345. package/dist/core/performance-optimizer/optimizer.d.ts +43 -0
  346. package/dist/core/performance-optimizer/profiler.d.ts +38 -0
  347. package/dist/core/performance-optimizer/react.d.ts +55 -0
  348. package/dist/core/performance-optimizer/strategies.d.ts +22 -0
  349. package/dist/core/performance-optimizer/types.d.ts +227 -0
  350. package/dist/core/performance-optimizer/workers.d.ts +27 -0
  351. package/dist/core/physics/collision-constraints.d.ts +15 -0
  352. package/dist/core/physics/collision-detection.d.ts +93 -0
  353. package/dist/core/physics/collision-response.d.ts +24 -0
  354. package/dist/core/physics/collision-types.d.ts +381 -0
  355. package/dist/core/physics/collision-world.d.ts +11 -0
  356. package/dist/core/physics/composition-behaviors.d.ts +97 -0
  357. package/dist/core/physics/composition-choreography.d.ts +14 -0
  358. package/dist/core/physics/composition-engine.d.ts +25 -0
  359. package/dist/core/physics/composition-recipes.d.ts +46 -0
  360. package/dist/core/physics/composition-types.d.ts +265 -0
  361. package/dist/core/physics/composition-validation.d.ts +33 -0
  362. package/dist/core/physics/index.d.ts +37 -0
  363. package/dist/core/physics/inertia-animation.d.ts +11 -0
  364. package/dist/core/physics/inertia-math.d.ts +56 -0
  365. package/dist/core/physics/inertia-presets.d.ts +25 -0
  366. package/dist/core/physics/inertia-simulation.d.ts +11 -0
  367. package/dist/core/physics/inertia-types.d.ts +355 -0
  368. package/dist/core/physics/inertia-validation.d.ts +22 -0
  369. package/dist/core/physics/math.d.ts +99 -0
  370. package/dist/core/physics/presets.d.ts +28 -0
  371. package/dist/core/physics/simulation.d.ts +11 -0
  372. package/dist/core/physics/spring-animation.d.ts +11 -0
  373. package/dist/core/physics/spring-math.d.ts +47 -0
  374. package/dist/core/physics/spring-presets.d.ts +29 -0
  375. package/dist/core/physics/spring-simulation.d.ts +11 -0
  376. package/dist/core/physics/spring-types.d.ts +350 -0
  377. package/dist/core/physics/spring-validation.d.ts +22 -0
  378. package/dist/core/physics/stepper.d.ts +24 -0
  379. package/dist/core/physics/types.d.ts +280 -0
  380. package/dist/core/physics/validation.d.ts +62 -0
  381. package/dist/core/pointer-capture.d.ts +7 -0
  382. package/dist/core/reference-analysis/index.d.ts +10 -0
  383. package/dist/core/reference-analysis/interpreter.d.ts +12 -0
  384. package/dist/core/reference-analysis/planner.d.ts +15 -0
  385. package/dist/core/reference-analysis/specification.d.ts +14 -0
  386. package/dist/core/reference-analysis/types.d.ts +244 -0
  387. package/dist/core/resource-intelligence/cache.d.ts +43 -0
  388. package/dist/core/resource-intelligence/gpu.d.ts +19 -0
  389. package/dist/core/resource-intelligence/index.d.ts +16 -0
  390. package/dist/core/resource-intelligence/leaks.d.ts +13 -0
  391. package/dist/core/resource-intelligence/memory.d.ts +27 -0
  392. package/dist/core/resource-intelligence/pooling.d.ts +32 -0
  393. package/dist/core/resource-intelligence/pressure.d.ts +32 -0
  394. package/dist/core/resource-intelligence/react.d.ts +63 -0
  395. package/dist/core/resource-intelligence/registry.d.ts +33 -0
  396. package/dist/core/resource-intelligence/reports.d.ts +14 -0
  397. package/dist/core/resource-intelligence/types.d.ts +232 -0
  398. package/dist/core/scene-generation/engine.d.ts +31 -0
  399. package/dist/core/scene-generation/generator.d.ts +14 -0
  400. package/dist/core/scene-generation/index.d.ts +14 -0
  401. package/dist/core/scene-generation/input-parser.d.ts +24 -0
  402. package/dist/core/scene-generation/presets.d.ts +10 -0
  403. package/dist/core/scene-generation/react.d.ts +13 -0
  404. package/dist/core/scene-generation/scene-analyzer.d.ts +9 -0
  405. package/dist/core/scene-generation/scene-planner.d.ts +12 -0
  406. package/dist/core/scene-generation/types.d.ts +236 -0
  407. package/dist/core/scene-generation/validator.d.ts +18 -0
  408. package/dist/core/schema.d.ts +185 -0
  409. package/dist/core/scroll-intelligence/generator.d.ts +11 -0
  410. package/dist/core/scroll-intelligence/index.d.ts +11 -0
  411. package/dist/core/scroll-intelligence/intent.d.ts +11 -0
  412. package/dist/core/scroll-intelligence/runtime.d.ts +21 -0
  413. package/dist/core/scroll-intelligence/schema.d.ts +78 -0
  414. package/dist/core/scroll-intelligence/types.d.ts +85 -0
  415. package/dist/core/spring.d.ts +38 -0
  416. package/dist/core/svg-morph/animator.d.ts +10 -0
  417. package/dist/core/svg-morph/arc-to-cubic.d.ts +11 -0
  418. package/dist/core/svg-morph/index.d.ts +10 -0
  419. package/dist/core/svg-morph/interpolate.d.ts +23 -0
  420. package/dist/core/svg-morph/normalize.d.ts +34 -0
  421. package/dist/core/svg-morph/parser.d.ts +13 -0
  422. package/dist/core/svg-morph/shapes.d.ts +32 -0
  423. package/dist/core/svg-morph/types.d.ts +144 -0
  424. package/dist/core/transform.d.ts +27 -0
  425. package/dist/core/transitions/controller.d.ts +45 -0
  426. package/dist/core/transitions/engine.d.ts +26 -0
  427. package/dist/core/transitions/group-transition.d.ts +30 -0
  428. package/dist/core/transitions/index.d.ts +15 -0
  429. package/dist/core/transitions/presets.d.ts +16 -0
  430. package/dist/core/transitions/schema.d.ts +71 -0
  431. package/dist/core/transitions/shared-element-transition.d.ts +88 -0
  432. package/dist/core/transitions/shared-element.d.ts +84 -0
  433. package/dist/core/transitions/types.d.ts +185 -0
  434. package/dist/core/transitions/view-transition.d.ts +25 -0
  435. package/dist/core/typography/engine.d.ts +19 -0
  436. package/dist/core/typography/index.d.ts +15 -0
  437. package/dist/core/typography/path-motion.d.ts +24 -0
  438. package/dist/core/typography/presets.d.ts +14 -0
  439. package/dist/core/typography/properties.d.ts +19 -0
  440. package/dist/core/typography/segmenter.d.ts +32 -0
  441. package/dist/core/typography/stagger.d.ts +15 -0
  442. package/dist/core/typography/transitions.d.ts +11 -0
  443. package/dist/core/typography/types.d.ts +154 -0
  444. package/dist/core/utils/safe-json.d.ts +50 -0
  445. package/dist/core/visual-style-registry.d.ts +659 -0
  446. package/dist/easing/easings.d.ts +44 -0
  447. package/dist/effects/border-beam.d.ts +28 -0
  448. package/dist/effects/count-up.d.ts +30 -0
  449. package/dist/effects/cursor-trail.d.ts +23 -0
  450. package/dist/effects/drag.d.ts +41 -0
  451. package/dist/effects/draw-svg.d.ts +19 -0
  452. package/dist/effects/follow-pointer.d.ts +19 -0
  453. package/dist/effects/glow.d.ts +25 -0
  454. package/dist/effects/gradient-text.d.ts +22 -0
  455. package/dist/effects/hover-motion.d.ts +32 -0
  456. package/dist/effects/in-view.d.ts +14 -0
  457. package/dist/effects/magnetic.d.ts +40 -0
  458. package/dist/effects/morph-svg.d.ts +15 -0
  459. package/dist/effects/parallax.d.ts +42 -0
  460. package/dist/effects/pinch.d.ts +27 -0
  461. package/dist/effects/reveal.d.ts +33 -0
  462. package/dist/effects/ripple.d.ts +21 -0
  463. package/dist/effects/scroll-animate.d.ts +23 -0
  464. package/dist/effects/scroll-direction.d.ts +19 -0
  465. package/dist/effects/scroll-progress.d.ts +29 -0
  466. package/dist/effects/scroll-trigger.d.ts +22 -0
  467. package/dist/effects/scroll-velocity.d.ts +29 -0
  468. package/dist/effects/shine.d.ts +23 -0
  469. package/dist/effects/split-text.d.ts +17 -0
  470. package/dist/effects/spotlight.d.ts +24 -0
  471. package/dist/effects/stagger.d.ts +46 -0
  472. package/dist/effects/swipe.d.ts +27 -0
  473. package/dist/effects/text-highlight.d.ts +25 -0
  474. package/dist/effects/text-mask.d.ts +25 -0
  475. package/dist/effects/text-reveal.d.ts +28 -0
  476. package/dist/effects/text-scramble.d.ts +18 -0
  477. package/dist/effects/tilt.d.ts +42 -0
  478. package/dist/effects/typewriter.d.ts +26 -0
  479. package/dist/graphics/capabilities.d.ts +12 -0
  480. package/dist/graphics/composition/engine.d.ts +14 -0
  481. package/dist/graphics/composition/fallback.d.ts +13 -0
  482. package/dist/graphics/composition/index.d.ts +10 -0
  483. package/dist/graphics/composition/ordering.d.ts +29 -0
  484. package/dist/graphics/composition/quality.d.ts +24 -0
  485. package/dist/graphics/composition/schema.d.ts +156 -0
  486. package/dist/graphics/composition/types.d.ts +81 -0
  487. package/dist/graphics/composition/unified.d.ts +23 -0
  488. package/dist/graphics/effects/advanced/engine.d.ts +9 -0
  489. package/dist/graphics/effects/advanced/index.d.ts +1 -0
  490. package/dist/graphics/effects/composer.d.ts +9 -0
  491. package/dist/graphics/effects/distortion/engine.d.ts +9 -0
  492. package/dist/graphics/effects/distortion/index.d.ts +1 -0
  493. package/dist/graphics/effects/fluid/engine.d.ts +9 -0
  494. package/dist/graphics/effects/fluid/index.d.ts +1 -0
  495. package/dist/graphics/effects/index.d.ts +10 -0
  496. package/dist/graphics/effects/particles/engine.d.ts +9 -0
  497. package/dist/graphics/effects/particles/index.d.ts +2 -0
  498. package/dist/graphics/effects/particles/pool.d.ts +17 -0
  499. package/dist/graphics/effects/schema.d.ts +312 -0
  500. package/dist/graphics/effects/types.d.ts +85 -0
  501. package/dist/graphics/engine.d.ts +5 -0
  502. package/dist/graphics/environment/clouds.d.ts +28 -0
  503. package/dist/graphics/environment/environment.d.ts +50 -0
  504. package/dist/graphics/environment/fire-smoke.d.ts +32 -0
  505. package/dist/graphics/environment/fog.d.ts +28 -0
  506. package/dist/graphics/environment/index.d.ts +18 -0
  507. package/dist/graphics/environment/lightning.d.ts +33 -0
  508. package/dist/graphics/environment/rain.d.ts +33 -0
  509. package/dist/graphics/environment/snow.d.ts +30 -0
  510. package/dist/graphics/environment/types.d.ts +184 -0
  511. package/dist/graphics/environment/weather.d.ts +19 -0
  512. package/dist/graphics/environment/wind.d.ts +23 -0
  513. package/dist/graphics/fluid/flow-field.d.ts +74 -0
  514. package/dist/graphics/fluid/grid.d.ts +43 -0
  515. package/dist/graphics/fluid/index.d.ts +13 -0
  516. package/dist/graphics/fluid/interactions.d.ts +39 -0
  517. package/dist/graphics/fluid/rendering.d.ts +32 -0
  518. package/dist/graphics/fluid/simulation.d.ts +50 -0
  519. package/dist/graphics/fluid/solver.d.ts +19 -0
  520. package/dist/graphics/fluid/types.d.ts +186 -0
  521. package/dist/graphics/gpu-simulation/backends/backend.d.ts +24 -0
  522. package/dist/graphics/gpu-simulation/backends/cpu.d.ts +21 -0
  523. package/dist/graphics/gpu-simulation/backends/selection.d.ts +15 -0
  524. package/dist/graphics/gpu-simulation/backends/webgl2.d.ts +28 -0
  525. package/dist/graphics/gpu-simulation/backends/webgpu.d.ts +23 -0
  526. package/dist/graphics/gpu-simulation/capabilities.d.ts +14 -0
  527. package/dist/graphics/gpu-simulation/device.d.ts +17 -0
  528. package/dist/graphics/gpu-simulation/engine.d.ts +8 -0
  529. package/dist/graphics/gpu-simulation/index.d.ts +22 -0
  530. package/dist/graphics/gpu-simulation/ping-pong.d.ts +23 -0
  531. package/dist/graphics/gpu-simulation/pipeline.d.ts +18 -0
  532. package/dist/graphics/gpu-simulation/resource-manager.d.ts +8 -0
  533. package/dist/graphics/gpu-simulation/shaders.d.ts +50 -0
  534. package/dist/graphics/gpu-simulation/types.d.ts +288 -0
  535. package/dist/graphics/index.d.ts +23 -0
  536. package/dist/graphics/materials/glass.d.ts +22 -0
  537. package/dist/graphics/materials/index.d.ts +9 -0
  538. package/dist/graphics/materials/lighting.d.ts +22 -0
  539. package/dist/graphics/materials/presets.d.ts +28 -0
  540. package/dist/graphics/materials/schema.d.ts +574 -0
  541. package/dist/graphics/materials/surface.d.ts +13 -0
  542. package/dist/graphics/materials/types.d.ts +150 -0
  543. package/dist/graphics/particle-fields/composition.d.ts +32 -0
  544. package/dist/graphics/particle-fields/forces.d.ts +103 -0
  545. package/dist/graphics/particle-fields/index.d.ts +12 -0
  546. package/dist/graphics/particle-fields/interaction.d.ts +32 -0
  547. package/dist/graphics/particle-fields/spatial-index.d.ts +20 -0
  548. package/dist/graphics/particle-fields/system.d.ts +52 -0
  549. package/dist/graphics/particle-fields/types.d.ts +138 -0
  550. package/dist/graphics/particles/behaviors.d.ts +11 -0
  551. package/dist/graphics/particles/controller.d.ts +82 -0
  552. package/dist/graphics/particles/data-layout.d.ts +51 -0
  553. package/dist/graphics/particles/emitters.d.ts +24 -0
  554. package/dist/graphics/particles/index.d.ts +15 -0
  555. package/dist/graphics/particles/random.d.ts +25 -0
  556. package/dist/graphics/particles/rendering.d.ts +16 -0
  557. package/dist/graphics/particles/simulation.d.ts +23 -0
  558. package/dist/graphics/particles/types.d.ts +282 -0
  559. package/dist/graphics/renderer.d.ts +66 -0
  560. package/dist/graphics/resource-manager.d.ts +6 -0
  561. package/dist/graphics/schema.d.ts +177 -0
  562. package/dist/graphics/simulation/adapters.d.ts +36 -0
  563. package/dist/graphics/simulation/coordinator.d.ts +64 -0
  564. package/dist/graphics/simulation/index.d.ts +11 -0
  565. package/dist/graphics/simulation/optimizer.d.ts +101 -0
  566. package/dist/graphics/simulation/resource-manager.d.ts +40 -0
  567. package/dist/graphics/simulation/types.d.ts +126 -0
  568. package/dist/graphics/textures/cache.d.ts +29 -0
  569. package/dist/graphics/textures/canvas-utils.d.ts +31 -0
  570. package/dist/graphics/textures/engine.d.ts +34 -0
  571. package/dist/graphics/textures/generators.d.ts +29 -0
  572. package/dist/graphics/textures/index.d.ts +11 -0
  573. package/dist/graphics/textures/material-integration.d.ts +20 -0
  574. package/dist/graphics/textures/prng.d.ts +27 -0
  575. package/dist/graphics/textures/schema.d.ts +219 -0
  576. package/dist/graphics/textures/types.d.ts +80 -0
  577. package/dist/graphics/types.d.ts +152 -0
  578. package/dist/graphics/viewport.d.ts +32 -0
  579. package/dist/index.d.ts +132 -0
  580. package/dist/index.js +4921 -0
  581. package/dist/mcp/index.d.ts +12 -0
  582. package/dist/mcp/prompts.d.ts +9 -0
  583. package/dist/mcp/resources.d.ts +9 -0
  584. package/dist/mcp/server.d.ts +29 -0
  585. package/dist/mcp/tools.d.ts +9 -0
  586. package/dist/mcp/transport.d.ts +33 -0
  587. package/dist/mcp/types.d.ts +96 -0
  588. package/dist/presets.d.ts +176 -0
  589. package/dist/presets.js +3 -0
  590. package/dist/react.d.ts +5358 -0
  591. package/dist/react.js +7557 -0
  592. package/package.json +112 -6
@@ -0,0 +1,34 @@
1
+ /**
2
+ * AF Motion — 3D Physics Event Bus & Observability
3
+ *
4
+ * Strongly-typed event emitter for physics world events, collision lifecycles,
5
+ * trigger encounters, and simulation metrics tracking with zero listener leaks.
6
+ */
7
+ import type { PhysicsWorldEventMap } from "./types.js";
8
+ export type PhysicsEventListener<K extends keyof PhysicsWorldEventMap> = (payload: PhysicsWorldEventMap[K]) => void;
9
+ /**
10
+ * High-performance, leak-free event emitter for 3D physics worlds.
11
+ */
12
+ export declare class PhysicsEventEmitter3D {
13
+ private readonly listeners;
14
+ /**
15
+ * Registers a listener for a physics event. Returns an unsubscribe function.
16
+ */
17
+ on<K extends keyof PhysicsWorldEventMap>(event: K, listener: PhysicsEventListener<K>): () => void;
18
+ /**
19
+ * Unregisters an existing listener.
20
+ */
21
+ off<K extends keyof PhysicsWorldEventMap>(event: K, listener: PhysicsEventListener<K>): void;
22
+ /**
23
+ * Dispatches an event to all registered listeners safely.
24
+ */
25
+ emit<K extends keyof PhysicsWorldEventMap>(event: K, payload: PhysicsWorldEventMap[K]): void;
26
+ /**
27
+ * Clears all registered listeners.
28
+ */
29
+ clear(): void;
30
+ /**
31
+ * Returns listener count for a specific event or in total.
32
+ */
33
+ listenerCount(event?: keyof PhysicsWorldEventMap): number;
34
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * AF Motion — 3D Physics Architecture
3
+ *
4
+ * Dedicated framework-independent 3D physics engine foundation for rigid bodies,
5
+ * soft bodies, colliders, contact manifolds, constraints, and spatial queries.
6
+ */
7
+ export * from "./types.js";
8
+ export * from "./math.js";
9
+ export * from "./material.js";
10
+ export * from "./body/inertia.js";
11
+ export * from "./collision/shapes.js";
12
+ export * from "./collision/narrowphase.js";
13
+ export * from "./collision/ccd.js";
14
+ export * from "./spatial/spatial-hash.js";
15
+ export * from "./events.js";
16
+ export * from "./solver/types.js";
17
+ export * from "./solver/integrators.js";
18
+ export * from "./constraints/types.js";
19
+ export * from "./constraints/advanced.js";
20
+ export * from "./constraints/solver.js";
21
+ export * from "./soft/types.js";
22
+ export * from "./soft/pbd.js";
23
+ export * from "./soft/soft-body.js";
24
+ export * from "./soft/cloth.js";
25
+ export * from "./soft/rope.js";
26
+ export * from "./soft/collision.js";
27
+ export * from "./soft/gpu.js";
28
+ export * from "./world.js";
29
+ export * from "./benchmark.js";
@@ -0,0 +1,27 @@
1
+ /**
2
+ * AF Motion — 3D Physics Materials & Combination Rules
3
+ *
4
+ * Reusable surface physical properties governing friction, restitution,
5
+ * damping, and density across collisions. Distinct from visual materials.
6
+ */
7
+ import type { PhysicsMaterial } from "./types.js";
8
+ /**
9
+ * Creates a validated PhysicsMaterial instance with sensible defaults.
10
+ */
11
+ export declare function createPhysicsMaterial(options?: Partial<PhysicsMaterial>): PhysicsMaterial;
12
+ /**
13
+ * Combines two surface friction values according to material combination rules.
14
+ */
15
+ export declare function combineFriction(matA: PhysicsMaterial, matB: PhysicsMaterial): number;
16
+ /**
17
+ * Combines two restitution coefficients according to material combination rules.
18
+ */
19
+ export declare function combineRestitution(matA: PhysicsMaterial, matB: PhysicsMaterial): number;
20
+ /**
21
+ * Curated standard physics material presets.
22
+ */
23
+ export declare const MATERIAL_PRESETS: Record<string, Readonly<PhysicsMaterial>>;
24
+ /**
25
+ * Retrieves a material preset by key name with fallback to default.
26
+ */
27
+ export declare function getMaterialPreset(presetName: string): PhysicsMaterial;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * AF Motion — 3D Physics Mathematics & Spatial Transformations
3
+ *
4
+ * Framework-independent vector, quaternion, matrix, and transform operations.
5
+ * Designed with numerical precision safeguards, singularity protection, and zero runtime dependencies.
6
+ */
7
+ import type { Vector3, Vector3Tuple, Quaternion, Transform3D, Matrix3, Matrix4, AABB3D } from "./types.js";
8
+ export declare const EPSILON = 0.000001;
9
+ export declare function isFiniteNumber(val: unknown): val is number;
10
+ export declare function isFiniteVector3(v: unknown): v is Vector3;
11
+ export declare function isFiniteQuaternion(q: unknown): q is Quaternion;
12
+ export declare function clamp(val: number, min: number, max: number): number;
13
+ export declare function roundPrecision(val: number, precision?: number): number;
14
+ export declare function vec3(x?: number, y?: number, z?: number): Vector3;
15
+ export declare function vec3Clone(v: Vector3): Vector3;
16
+ export declare function vec3ToTuple(v: Vector3): Vector3Tuple;
17
+ export declare function tupleToVec3(t: Vector3Tuple): Vector3;
18
+ export declare function vec3Add(a: Vector3, b: Vector3): Vector3;
19
+ export declare function vec3Sub(a: Vector3, b: Vector3): Vector3;
20
+ export declare function vec3Scale(v: Vector3, s: number): Vector3;
21
+ export declare function vec3Dot(a: Vector3, b: Vector3): number;
22
+ export declare function vec3Cross(a: Vector3, b: Vector3): Vector3;
23
+ export declare function vec3LengthSq(v: Vector3): number;
24
+ export declare function vec3Length(v: Vector3): number;
25
+ export declare function vec3Normalize(v: Vector3): Vector3;
26
+ export declare function vec3SafeNormalize(v: Vector3, fallback?: Vector3): Vector3;
27
+ export declare function vec3DistanceSq(a: Vector3, b: Vector3): number;
28
+ export declare function vec3Distance(a: Vector3, b: Vector3): number;
29
+ export declare function vec3Lerp(a: Vector3, b: Vector3, t: number): Vector3;
30
+ export declare function vec3Min(a: Vector3, b: Vector3): Vector3;
31
+ export declare function vec3Max(a: Vector3, b: Vector3): Vector3;
32
+ export declare function vec3Equals(a: Vector3, b: Vector3, epsilon?: number): boolean;
33
+ export declare function quat(x?: number, y?: number, z?: number, w?: number): Quaternion;
34
+ export declare function quatIdentity(): Quaternion;
35
+ export declare function quatClone(q: Quaternion): Quaternion;
36
+ export declare function quatLengthSq(q: Quaternion): number;
37
+ export declare function quatLength(q: Quaternion): number;
38
+ export declare function quatNormalize(q: Quaternion): Quaternion;
39
+ export declare function quatSafeNormalize(q: Quaternion, fallback?: Quaternion): Quaternion;
40
+ export declare function quatMultiply(a: Quaternion, b: Quaternion): Quaternion;
41
+ export declare function quatConjugate(q: Quaternion): Quaternion;
42
+ export declare function quatInverse(q: Quaternion): Quaternion;
43
+ export declare function quatDot(a: Quaternion, b: Quaternion): number;
44
+ export declare function quatRotateVector(q: Quaternion, v: Vector3): Vector3;
45
+ export declare function vec3TransformQuat(v: Vector3, q: Quaternion): Vector3;
46
+ export declare function quatFromAxisAngle(axis: Vector3, angle: number): Quaternion;
47
+ export declare function quatToAxisAngle(q: Quaternion): {
48
+ axis: Vector3;
49
+ angle: number;
50
+ };
51
+ export declare function quatFromEuler(x: number, y: number, z: number, order?: "XYZ" | "YXZ" | "ZXY"): Quaternion;
52
+ export declare function quatToEuler(q: Quaternion, _order?: "XYZ"): Vector3;
53
+ export declare function quatSlerp(a: Quaternion, b: Quaternion, t: number): Quaternion;
54
+ export declare function quatEquals(a: Quaternion, b: Quaternion, epsilon?: number): boolean;
55
+ export declare function mat3Identity(): Matrix3;
56
+ export declare function mat3Diagonal(x: number, y: number, z: number): Matrix3;
57
+ export declare function mat3FromQuaternion(q: Quaternion): Matrix3;
58
+ export declare function mat3Multiply(a: Matrix3, b: Matrix3): Matrix3;
59
+ export declare function mat3Transpose(m: Matrix3): Matrix3;
60
+ export declare function mat3Invert(m: Matrix3): Matrix3;
61
+ export declare function mat3TransformVector(m: Matrix3, v: Vector3): Vector3;
62
+ export declare function mat4Identity(): Matrix4;
63
+ export declare function mat4Compose(position: Vector3, rotation: Quaternion, scale?: Vector3): Matrix4;
64
+ export declare function vec3TransformMat4(v: Vector3, m: Matrix4): Vector3;
65
+ export declare function createTransform3D(position?: Vector3, rotation?: Quaternion, scale?: Vector3): Transform3D;
66
+ export declare function cloneTransform3D(t: Transform3D): Transform3D;
67
+ export declare function composeTransform3D(parent: Transform3D, child: Transform3D): Transform3D;
68
+ export declare function invertTransform3D(t: Transform3D): Transform3D;
69
+ export declare function localToWorldPoint(transform: Transform3D, localPoint: Vector3): Vector3;
70
+ export declare function worldToLocalPoint(transform: Transform3D, worldPoint: Vector3): Vector3;
71
+ export declare function localToWorldVector(transform: Transform3D, localVec: Vector3): Vector3;
72
+ export declare function worldToLocalVector(transform: Transform3D, worldVec: Vector3): Vector3;
73
+ export declare function createAABB3D(min?: Vector3, max?: Vector3): AABB3D;
74
+ export declare function aabb3DFromMinMax(min: Vector3, max: Vector3): AABB3D;
75
+ export declare function aabb3DContainsPoint(aabb: AABB3D, p: Vector3): boolean;
76
+ export declare function aabb3DIntersects(a: AABB3D, b: AABB3D): boolean;
77
+ export declare function aabb3DUnion(a: AABB3D, b: AABB3D): AABB3D;
78
+ export declare function aabb3DEncapsulatePoint(aabb: AABB3D, p: Vector3): AABB3D;
79
+ export declare function aabb3DTransform(aabb: AABB3D, transform: Transform3D): AABB3D;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AF Motion — 3D Cloth Simulation Generator
3
+ *
4
+ * Generates grid-based deformable cloth meshes with structural, shear,
5
+ * and bending constraints, aerodynamic wind coupling, and tearable links.
6
+ */
7
+ import type { SoftBodyState } from "../types.js";
8
+ import type { ClothConfig } from "./types.js";
9
+ /**
10
+ * Creates a production-grade 3D cloth simulation soft body.
11
+ */
12
+ export declare function createCloth3D(config?: ClothConfig): SoftBodyState;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AF Motion — 3D Soft Body Collision Resolver
3
+ *
4
+ * Resolves contact and impulse momentum exchange between soft body particles
5
+ * and static geometry, ground planes, and dynamic/kinematic rigid bodies.
6
+ */
7
+ import type { RigidBodyState } from "../types.js";
8
+ import type { SoftBodyState } from "../types.js";
9
+ /**
10
+ * Resolves collisions for all active soft bodies against rigid bodies and ground boundaries.
11
+ */
12
+ export declare function resolveSoftBodyCollisions(softBodies: Iterable<SoftBodyState>, bodies: ReadonlyMap<string, RigidBodyState>, dt: number, groundY?: number, hasGround?: boolean): void;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * AF Motion — 3D Soft Body GPU Acceleration Layer
3
+ *
4
+ * Integrates GPU compute assistance for large-scale cloth and soft-body
5
+ * simulations via WebGL2/WebGPU while providing 100% deterministic CPU fallback.
6
+ */
7
+ import type { Vector3, RigidBodyState } from "../types.js";
8
+ import type { SoftBodyState } from "../types.js";
9
+ /**
10
+ * Checks whether GPU-assisted simulation compute is available in the current environment.
11
+ */
12
+ export declare function isGPUAccelerationAvailable(): boolean;
13
+ /**
14
+ * Simulates a soft body step using GPU compute if enabled and supported,
15
+ * otherwise transparently executing deterministic Position-Based Dynamics on CPU.
16
+ */
17
+ export declare function simulateSoftBodyStep(softBody: SoftBodyState, dt: number, gravity: Vector3, iterations?: number, bodies?: ReadonlyMap<string, RigidBodyState>, windVector?: Vector3, onTear?: (softBodyId: string, pA: number, pB: number, strain: number) => void): {
18
+ usedGPU: boolean;
19
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * AF Motion — 3D Position-Based Dynamics (PBD & XPBD) Engine
3
+ *
4
+ * Implements numerical prediction, iterative non-linear constraint projection,
5
+ * XPBD compliance, volume preservation, shape matching, and velocity reconstruction.
6
+ */
7
+ import type { Vector3, AABB3D, RigidBodyState } from "../types.js";
8
+ import type { SoftBodyState } from "../types.js";
9
+ /**
10
+ * Calculates the current closed mesh volume using the divergence theorem.
11
+ */
12
+ export declare function computeMeshVolume(positions: Float32Array, indices: Uint32Array | Uint16Array | number[]): number;
13
+ /**
14
+ * Computes an updated Axis-Aligned Bounding Box (AABB) for a soft body.
15
+ */
16
+ export declare function computeSoftBodyAABB(positions: Float32Array, margin?: number): AABB3D;
17
+ /**
18
+ * Solves one full Position-Based Dynamics time step for a soft body.
19
+ */
20
+ export declare function stepPBD(softBody: SoftBodyState, dt: number, gravity: Vector3, iterations?: number, bodies?: ReadonlyMap<string, RigidBodyState>, windVector?: Vector3, onTear?: (softBodyId: string, pA: number, pB: number, strain: number) => void): void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * AF Motion — 3D Rope & Flexible Cable Generator
3
+ *
4
+ * Generates discretized rope, chain, and cable structures with structural
5
+ * stretch resistance, bending stiffness, endpoint pinning, and rigid-body coupling.
6
+ */
7
+ import type { SoftBodyState } from "../types.js";
8
+ import type { RopeConfig } from "./types.js";
9
+ /**
10
+ * Creates a 3D simulated rope or flexible cable.
11
+ */
12
+ export declare function createRope3D(config?: RopeConfig): SoftBodyState;
13
+ /**
14
+ * Creates an articulated physical chain with rigid links and heavy segments.
15
+ */
16
+ export declare function createChain3D(config?: RopeConfig): SoftBodyState;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AF Motion — Generic 3D Soft Body Generator
3
+ *
4
+ * Implements general volumetric deformable bodies, tetrahedral / polygonal
5
+ * surface meshes, volume conservation, and shape-matching preservation.
6
+ */
7
+ import type { SoftBodyState } from "../types.js";
8
+ import type { SoftBodyConfig } from "./types.js";
9
+ /**
10
+ * Creates an independent 3D Soft Body instance.
11
+ */
12
+ export declare function createSoftBody3D(config: SoftBodyConfig): SoftBodyState;
@@ -0,0 +1,212 @@
1
+ /**
2
+ * AF Motion — 3D Soft Body & PBD Types
3
+ *
4
+ * Type definitions for particle-based deformable bodies, Position-Based
5
+ * Dynamics (PBD / XPBD) constraints, cloth meshes, ropes, and flexible cables.
6
+ */
7
+ import type { Vector3, PhysicsMaterial, Quaternion } from "../types.js";
8
+ export type PBDConstraintType = "distance" | "structural" | "shear" | "bending" | "volume" | "shape-matching" | "attachment" | "pin";
9
+ /**
10
+ * Base distance / edge constraint between two particles.
11
+ */
12
+ export interface PBDDistanceConstraint {
13
+ type: "distance" | "structural" | "shear" | "bending";
14
+ /** Index of particle A. */
15
+ particleA: number;
16
+ /** Index of particle B. */
17
+ particleB: number;
18
+ /** Rest distance in world units. */
19
+ restLength: number;
20
+ /** XPBD compliance (inverse stiffness alpha). Default: 0 (rigid). */
21
+ compliance?: number;
22
+ /** Classical stiffness [0, 1]. Default: 1.0. */
23
+ stiffness?: number;
24
+ /** Internal damping coefficient. Default: 0.0. */
25
+ damping?: number;
26
+ /** Accumulated Lagrange multiplier for XPBD. */
27
+ multiplier?: number;
28
+ /** Whether this constraint can tear when stretched beyond threshold. */
29
+ tearable?: boolean;
30
+ /** Strain threshold for tearing ((d - d0) / d0). Default: 0.8 (80%). */
31
+ tearStrainThreshold?: number;
32
+ /** Whether this constraint has been torn/broken. */
33
+ torn?: boolean;
34
+ }
35
+ /**
36
+ * Closed mesh volume conservation constraint.
37
+ */
38
+ export interface PBDVolumeConstraint {
39
+ type: "volume";
40
+ /** Triangle indices forming closed surface mesh [i0, j0, k0, i1, j1, k1, ...]. */
41
+ triangleIndices: Uint32Array | number[];
42
+ /** Rest volume in cubic units. */
43
+ restVolume: number;
44
+ /** Volume stiffness coefficient [0, 1]. */
45
+ stiffness?: number;
46
+ /** XPBD compliance for volume. */
47
+ compliance?: number;
48
+ /** Accumulated Lagrange multiplier. */
49
+ multiplier?: number;
50
+ }
51
+ /**
52
+ * Linear shape-matching constraint against rest coordinates.
53
+ */
54
+ export interface PBDShapeMatchingConstraint {
55
+ type: "shape-matching";
56
+ /** Indices of particles involved in shape matching. */
57
+ particleIndices: number[];
58
+ /** Rest positions for each particle relative to rest center of mass. */
59
+ restOffsets: Float32Array;
60
+ /** Rest center of mass. */
61
+ restCenterOfMass: Vector3;
62
+ /** Shape-matching stiffness [0, 1]. */
63
+ stiffness: number;
64
+ }
65
+ /**
66
+ * Attachment constraint pinning a soft-body particle to a world position or rigid body.
67
+ */
68
+ export interface PBDAttachmentConstraint {
69
+ type: "attachment";
70
+ /** Index of the soft-body particle. */
71
+ particleIndex: number;
72
+ /** Optional target rigid body ID. If undefined, attached to world space. */
73
+ targetBodyId?: string;
74
+ /** Local anchor on the rigid body, or world coordinate if targetBodyId is undefined. */
75
+ localPivot: Vector3;
76
+ /** Attachment stiffness [0, 1]. Default: 1.0. */
77
+ stiffness?: number;
78
+ }
79
+ /**
80
+ * Fixed pin constraint locking a particle in place.
81
+ */
82
+ export interface PBDPinConstraint {
83
+ type: "pin";
84
+ /** Index of the pinned particle. */
85
+ particleIndex: number;
86
+ /** Fixed world position. */
87
+ position: Vector3;
88
+ }
89
+ export type PBDConstraint = PBDDistanceConstraint | PBDVolumeConstraint | PBDShapeMatchingConstraint | PBDAttachmentConstraint | PBDPinConstraint;
90
+ export interface ParticleConfig {
91
+ position: Vector3;
92
+ mass?: number;
93
+ velocity?: Vector3;
94
+ pinned?: boolean;
95
+ }
96
+ export interface SoftBodyConfig {
97
+ id?: string;
98
+ /** Initial particle definitions or raw flat array [x0, y0, z0, ...]. */
99
+ particles: ParticleConfig[] | Float32Array;
100
+ /** Triangle indices for surface mesh [i0, j0, k0, ...]. */
101
+ indices?: Uint32Array | number[];
102
+ /** Custom PBD constraints. */
103
+ constraints?: PBDConstraint[];
104
+ /** Structural stiffness [0, 1]. Default: 0.9. */
105
+ stiffness?: number;
106
+ /** Internal velocity damping [0, 1]. Default: 0.05. */
107
+ damping?: number;
108
+ /** Volume preservation stiffness [0, 1]. Default: 0. */
109
+ volumeStiffness?: number;
110
+ /** Internal pneumatic pressure. Default: 0. */
111
+ pressure?: number;
112
+ /** Physics material (friction, restitution). */
113
+ material?: Partial<PhysicsMaterial>;
114
+ /** Whether any structural link can tear under strain. */
115
+ tearable?: boolean;
116
+ /** Strain threshold for tearing. Default: 0.8. */
117
+ tearStrainThreshold?: number;
118
+ /** Whether to enable GPU compute assistance where hardware allows. */
119
+ useGPU?: boolean;
120
+ /** User data. */
121
+ userData?: unknown;
122
+ }
123
+ export interface ClothConfig {
124
+ id?: string;
125
+ /** Total physical width in world units. Default: 2.0. */
126
+ width?: number;
127
+ /** Total physical height in world units. Default: 2.0. */
128
+ height?: number;
129
+ /** Number of grid segments along horizontal axis. Default: 10. */
130
+ segmentsX?: number;
131
+ /** Number of grid segments along vertical axis. Default: 10. */
132
+ segmentsY?: number;
133
+ /** Center position of the cloth mesh. Default: { x: 0, y: 2, z: 0 }. */
134
+ position?: Vector3;
135
+ /** Orientation plane or custom rotation quaternion. Default: "xy". */
136
+ orientation?: "xy" | "xz" | "yz" | Quaternion;
137
+ /** Total mass of the cloth in kg. Default: 1.0. */
138
+ mass?: number;
139
+ /** Structural spring stiffness [0, 1]. Default: 0.95. */
140
+ stiffness?: number;
141
+ /** Shear resistance stiffness [0, 1]. Default: 0.7. */
142
+ shearStiffness?: number;
143
+ /** Bending resistance stiffness [0, 1]. Default: 0.3. */
144
+ bendingStiffness?: number;
145
+ /** Velocity damping [0, 1]. Default: 0.02. */
146
+ damping?: number;
147
+ /** Array of specific particle indices to pin immovably. */
148
+ pinnedIndices?: number[];
149
+ /** Convenience: pin all 4 corner particles. */
150
+ pinCorners?: boolean;
151
+ /** Convenience: pin all particles along top edge. */
152
+ pinTopEdge?: boolean;
153
+ /** Wind aerodynamic forces. Default: false. */
154
+ windInteraction?: boolean | {
155
+ scale?: number;
156
+ dragCoefficient?: number;
157
+ };
158
+ /** Whether cloth can tear under extreme tensile strain. Default: false. */
159
+ tearable?: boolean;
160
+ /** Elongation strain threshold for tearing ((d - d0) / d0). Default: 1.0. */
161
+ tearStrainThreshold?: number;
162
+ /** Physics material. */
163
+ material?: Partial<PhysicsMaterial>;
164
+ /** Use GPU compute if available. */
165
+ useGPU?: boolean;
166
+ /** Custom user data. */
167
+ userData?: unknown;
168
+ }
169
+ export interface RopeConfig {
170
+ id?: string;
171
+ /** Total physical length of the rope in world units. Default: 5.0. */
172
+ length?: number;
173
+ /** Number of segments along the rope. Default: 20. */
174
+ segments?: number;
175
+ /** World start position. Default: { x: 0, y: 5, z: 0 }. */
176
+ startPosition?: Vector3;
177
+ /** Optional world end position. If omitted, hangs straight down along -Y. */
178
+ endPosition?: Vector3;
179
+ /** Direction vector if endPosition is omitted. Default: { x: 0, y: -1, z: 0 }. */
180
+ direction?: Vector3;
181
+ /** Total rope mass in kg. Default: 1.0. */
182
+ mass?: number;
183
+ /** Collision radius around particles in meters. Default: 0.05. */
184
+ radius?: number;
185
+ /** Stretch resistance stiffness [0, 1]. Default: 0.98. */
186
+ stiffness?: number;
187
+ /** Bending / straightness stiffness [0, 1]. Default: 0.4. */
188
+ bendingStiffness?: number;
189
+ /** Velocity damping [0, 1]. Default: 0.02. */
190
+ damping?: number;
191
+ /** Pin the start node in world space. Default: true. */
192
+ pinnedStart?: boolean;
193
+ /** Pin the end node in world space. Default: false. */
194
+ pinnedEnd?: boolean;
195
+ /** Attach start node to a dynamic/kinematic rigid body ID. */
196
+ attachStartToBodyId?: string;
197
+ /** Local attachment pivot on the start rigid body. */
198
+ attachStartPivot?: Vector3;
199
+ /** Attach end node to a dynamic/kinematic rigid body ID. */
200
+ attachEndToBodyId?: string;
201
+ /** Local attachment pivot on the end rigid body. */
202
+ attachEndPivot?: Vector3;
203
+ /** Physics material. */
204
+ material?: Partial<PhysicsMaterial>;
205
+ /** Tear threshold for breaking under extreme tension. */
206
+ tearable?: boolean;
207
+ tearStrainThreshold?: number;
208
+ /** Use GPU compute if available. */
209
+ useGPU?: boolean;
210
+ /** Custom user data. */
211
+ userData?: unknown;
212
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * AF Motion — 3D Physics Solvers & Numerical Integrators
3
+ *
4
+ * Implements Symplectic Euler, Verlet, and RK4 time integrators,
5
+ * along with impulse-based collision resolution and constraint satisfaction.
6
+ * Incorporates true 3D rotational inertia tensors, static/dynamic Coulomb friction,
7
+ * resting velocity thresholds for stable stacking, and kinematic body support.
8
+ */
9
+ import type { PhysicsIntegrator3D, CollisionSolver3D, ConstraintSolver3D } from "./types.js";
10
+ import type { RigidBodyState, CollisionManifold3D, Constraint3D, Vector3 } from "../types.js";
11
+ export declare class SymplecticEulerIntegrator3D implements PhysicsIntegrator3D {
12
+ readonly name = "symplectic-euler";
13
+ integrate(bodies: readonly RigidBodyState[], dt: number, gravity: Vector3): void;
14
+ }
15
+ export declare class ImpulseCollisionSolver3D implements CollisionSolver3D {
16
+ readonly name = "impulse-solver";
17
+ private readonly baumgarte;
18
+ private readonly slop;
19
+ private readonly restingVelocityThreshold;
20
+ resolveCollisions(manifolds: readonly CollisionManifold3D[], bodies: ReadonlyMap<string, RigidBodyState>, iterations: number, dt: number): void;
21
+ }
22
+ export declare class BasicConstraintSolver3D implements ConstraintSolver3D {
23
+ readonly name = "basic-constraint-solver";
24
+ solveConstraints(constraints: readonly Constraint3D[], bodies: ReadonlyMap<string, RigidBodyState>, iterations: number, _dt: number): void;
25
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * AF Motion — 3D Physics Solver & Integrator Contracts
3
+ *
4
+ * Interfaces for numerical time integration, impulse-based collision resolution,
5
+ * and constraint satisfaction.
6
+ */
7
+ import type { RigidBodyState, CollisionManifold3D, Constraint3D, Vector3 } from "../types.js";
8
+ /**
9
+ * Interface for time integration of velocities, positions, and orientations.
10
+ */
11
+ export interface PhysicsIntegrator3D {
12
+ readonly name: string;
13
+ integrate(bodies: readonly RigidBodyState[], dt: number, gravity: Vector3): void;
14
+ }
15
+ /**
16
+ * Interface for collision impulse and position correction solvers.
17
+ */
18
+ export interface CollisionSolver3D {
19
+ readonly name: string;
20
+ resolveCollisions(manifolds: readonly CollisionManifold3D[], bodies: ReadonlyMap<string, RigidBodyState>, iterations: number, dt: number): void;
21
+ }
22
+ /**
23
+ * Interface for physical joint and constraint solvers.
24
+ */
25
+ export interface ConstraintSolver3D {
26
+ readonly name: string;
27
+ solveConstraints(constraints: readonly Constraint3D[], bodies: ReadonlyMap<string, RigidBodyState>, iterations: number, dt: number): void;
28
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * AF Motion — 3D Spatial Hashing & Broad-Phase Query System
3
+ *
4
+ * High-performance 3D spatial indexing for fast collision pair pruning,
5
+ * AABB volume queries, sphere proximity testing, and raycasting.
6
+ */
7
+ import type { Collider3D, AABB3D, Ray3D, RayHit3D, SpatialFilter3D, Transform3D, Vector3 } from "../types.js";
8
+ export interface SpatialQuery3DOptions {
9
+ cellSize?: number;
10
+ }
11
+ export interface SpatialQuery3D {
12
+ register(collider: Collider3D): void;
13
+ unregister(colliderId: string): void;
14
+ update(collider: Collider3D): void;
15
+ getPotentialPairs(): Array<[Collider3D, Collider3D]>;
16
+ queryAABB(aabb: AABB3D, filter?: SpatialFilter3D): Collider3D[];
17
+ querySphere(center: Vector3, radius: number, filter?: SpatialFilter3D): Collider3D[];
18
+ raycast(ray: Ray3D, filter?: SpatialFilter3D, getBodyTransform?: (bodyId?: string) => Transform3D): RayHit3D[];
19
+ raycastAny(ray: Ray3D, filter?: SpatialFilter3D, getBodyTransform?: (bodyId?: string) => Transform3D): boolean;
20
+ clear(): void;
21
+ getColliderCount(): number;
22
+ }
23
+ /**
24
+ * 3D Spatial Hash Broad-phase Grid.
25
+ */
26
+ export declare class SpatialHash3D implements SpatialQuery3D {
27
+ private readonly cellSize;
28
+ private readonly invCellSize;
29
+ private readonly cells;
30
+ private readonly colliderToCells;
31
+ private readonly colliders;
32
+ private readonly globalColliders;
33
+ constructor(options?: SpatialQuery3DOptions);
34
+ private hashCoords;
35
+ private getCellsForAABB;
36
+ register(collider: Collider3D): void;
37
+ unregister(colliderId: string): void;
38
+ update(collider: Collider3D): void;
39
+ getPotentialPairs(): Array<[Collider3D, Collider3D]>;
40
+ queryAABB(aabb: AABB3D, filter?: SpatialFilter3D): Collider3D[];
41
+ querySphere(center: Vector3, radius: number, filter?: SpatialFilter3D): Collider3D[];
42
+ raycast(ray: Ray3D, filter?: SpatialFilter3D, getBodyTransform?: (bodyId?: string) => Transform3D): RayHit3D[];
43
+ raycastAny(ray: Ray3D, filter?: SpatialFilter3D, getBodyTransform?: (bodyId?: string) => Transform3D): boolean;
44
+ private matchesFilter;
45
+ clear(): void;
46
+ getColliderCount(): number;
47
+ }
48
+ /**
49
+ * Creates an extensible 3D spatial query / broad-phase acceleration structure.
50
+ */
51
+ export declare function createSpatialQuery3D(options?: SpatialQuery3DOptions): SpatialQuery3D;