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.
- package/CHANGELOG.md +33 -0
- package/LICENSE +201 -0
- package/README.md +203 -3
- package/RELEASE_NOTES.md +115 -0
- package/bin/af-motion.js +16 -0
- package/bin/mcp-server.js +21 -0
- package/dist/3d/adapter.d.ts +29 -0
- package/dist/3d/assets/cache.d.ts +71 -0
- package/dist/3d/assets/index.d.ts +10 -0
- package/dist/3d/assets/inspection.d.ts +19 -0
- package/dist/3d/assets/loaders.d.ts +30 -0
- package/dist/3d/assets/manager.d.ts +69 -0
- package/dist/3d/assets/scene-integration.d.ts +23 -0
- package/dist/3d/assets/types.d.ts +80 -0
- package/dist/3d/assets/validation.d.ts +12 -0
- package/dist/3d/camera/index.d.ts +7 -0
- package/dist/3d/camera/presets.d.ts +8 -0
- package/dist/3d/camera/transitions.d.ts +19 -0
- package/dist/3d/camera/types.d.ts +37 -0
- package/dist/3d/camera/validation.d.ts +9 -0
- package/dist/3d/capabilities.d.ts +11 -0
- package/dist/3d/composition/fallback.d.ts +20 -0
- package/dist/3d/composition/generation.d.ts +24 -0
- package/dist/3d/composition/index.d.ts +12 -0
- package/dist/3d/composition/quality.d.ts +35 -0
- package/dist/3d/composition/recipes.d.ts +34 -0
- package/dist/3d/composition/types.d.ts +88 -0
- package/dist/3d/composition/unified.d.ts +18 -0
- package/dist/3d/environment/index.d.ts +6 -0
- package/dist/3d/environment/presets.d.ts +8 -0
- package/dist/3d/environment/types.d.ts +36 -0
- package/dist/3d/environment/validation.d.ts +9 -0
- package/dist/3d/geometry/cache.d.ts +37 -0
- package/dist/3d/geometry/generators.d.ts +24 -0
- package/dist/3d/geometry/hash.d.ts +10 -0
- package/dist/3d/geometry/index.d.ts +9 -0
- package/dist/3d/geometry/three-adapter.d.ts +15 -0
- package/dist/3d/geometry/types.d.ts +120 -0
- package/dist/3d/geometry/validation.d.ts +6 -0
- package/dist/3d/index.d.ts +32 -0
- package/dist/3d/interaction/camera-controls.d.ts +58 -0
- package/dist/3d/interaction/index.d.ts +8 -0
- package/dist/3d/interaction/manager.d.ts +61 -0
- package/dist/3d/interaction/presets.d.ts +9 -0
- package/dist/3d/interaction/raycaster.d.ts +20 -0
- package/dist/3d/interaction/types.d.ts +78 -0
- package/dist/3d/lighting/index.d.ts +6 -0
- package/dist/3d/lighting/presets.d.ts +8 -0
- package/dist/3d/lighting/types.d.ts +31 -0
- package/dist/3d/lighting/validation.d.ts +17 -0
- package/dist/3d/materials/bridge.d.ts +11 -0
- package/dist/3d/materials/index.d.ts +7 -0
- package/dist/3d/materials/presets.d.ts +9 -0
- package/dist/3d/materials/types.d.ts +43 -0
- package/dist/3d/materials/validation.d.ts +9 -0
- package/dist/3d/morphing/animator.d.ts +19 -0
- package/dist/3d/morphing/correspondence.d.ts +32 -0
- package/dist/3d/morphing/geometry.d.ts +28 -0
- package/dist/3d/morphing/index.d.ts +16 -0
- package/dist/3d/morphing/interpolation.d.ts +45 -0
- package/dist/3d/morphing/morph.d.ts +18 -0
- package/dist/3d/morphing/presets.d.ts +31 -0
- package/dist/3d/morphing/react.d.ts +29 -0
- package/dist/3d/morphing/topology.d.ts +34 -0
- package/dist/3d/morphing/types.d.ts +138 -0
- package/dist/3d/morphing/validation.d.ts +19 -0
- package/dist/3d/optimization/analysis.d.ts +14 -0
- package/dist/3d/optimization/colliders.d.ts +16 -0
- package/dist/3d/optimization/geometry.d.ts +22 -0
- package/dist/3d/optimization/hierarchy.d.ts +14 -0
- package/dist/3d/optimization/index.d.ts +33 -0
- package/dist/3d/optimization/lod.d.ts +13 -0
- package/dist/3d/optimization/materials.d.ts +12 -0
- package/dist/3d/optimization/recommendations.d.ts +13 -0
- package/dist/3d/optimization/skeleton.d.ts +20 -0
- package/dist/3d/optimization/types.d.ts +252 -0
- package/dist/3d/physics/benchmark.d.ts +76 -0
- package/dist/3d/physics/body/inertia.d.ts +61 -0
- package/dist/3d/physics/collision/ccd.d.ts +26 -0
- package/dist/3d/physics/collision/narrowphase.d.ts +15 -0
- package/dist/3d/physics/collision/shapes.d.ts +45 -0
- package/dist/3d/physics/constraints/advanced.d.ts +40 -0
- package/dist/3d/physics/constraints/solver.d.ts +34 -0
- package/dist/3d/physics/constraints/types.d.ts +106 -0
- package/dist/3d/physics/events.d.ts +34 -0
- package/dist/3d/physics/index.d.ts +29 -0
- package/dist/3d/physics/material.d.ts +27 -0
- package/dist/3d/physics/math.d.ts +79 -0
- package/dist/3d/physics/soft/cloth.d.ts +12 -0
- package/dist/3d/physics/soft/collision.d.ts +12 -0
- package/dist/3d/physics/soft/gpu.d.ts +19 -0
- package/dist/3d/physics/soft/pbd.d.ts +20 -0
- package/dist/3d/physics/soft/rope.d.ts +16 -0
- package/dist/3d/physics/soft/soft-body.d.ts +12 -0
- package/dist/3d/physics/soft/types.d.ts +212 -0
- package/dist/3d/physics/solver/integrators.d.ts +25 -0
- package/dist/3d/physics/solver/types.d.ts +28 -0
- package/dist/3d/physics/spatial/spatial-hash.d.ts +51 -0
- package/dist/3d/physics/types.d.ts +579 -0
- package/dist/3d/physics/world.d.ts +106 -0
- package/dist/3d/r3f.d.ts +34 -0
- package/dist/3d/scene.d.ts +8 -0
- package/dist/3d/schema.d.ts +739 -0
- package/dist/3d/schemas/ai-integration.d.ts +201 -0
- package/dist/3d/schemas/correction.d.ts +11 -0
- package/dist/3d/schemas/index.d.ts +12 -0
- package/dist/3d/schemas/schemas.d.ts +361 -0
- package/dist/3d/schemas/serialization.d.ts +22 -0
- package/dist/3d/schemas/types.d.ts +199 -0
- package/dist/3d/schemas/validation.d.ts +33 -0
- package/dist/3d/scroll/controller.d.ts +32 -0
- package/dist/3d/scroll/index.d.ts +6 -0
- package/dist/3d/scroll/presets.d.ts +9 -0
- package/dist/3d/scroll/types.d.ts +53 -0
- package/dist/3d/terrain/biomes.d.ts +18 -0
- package/dist/3d/terrain/chunks.d.ts +20 -0
- package/dist/3d/terrain/erosion.d.ts +15 -0
- package/dist/3d/terrain/heightmap.d.ts +27 -0
- package/dist/3d/terrain/index.d.ts +18 -0
- package/dist/3d/terrain/materials.d.ts +20 -0
- package/dist/3d/terrain/noise.d.ts +25 -0
- package/dist/3d/terrain/physics.d.ts +34 -0
- package/dist/3d/terrain/terrain.d.ts +12 -0
- package/dist/3d/terrain/types.d.ts +235 -0
- package/dist/3d/terrain/vegetation.d.ts +14 -0
- package/dist/3d/types.d.ts +176 -0
- package/dist/3d/world/hydrology.d.ts +12 -0
- package/dist/3d/world/index.d.ts +15 -0
- package/dist/3d/world/lighting.d.ts +16 -0
- package/dist/3d/world/pipeline.d.ts +20 -0
- package/dist/3d/world/population.d.ts +12 -0
- package/dist/3d/world/presets.d.ts +11 -0
- package/dist/3d/world/streaming.d.ts +13 -0
- package/dist/3d/world/types.d.ts +272 -0
- package/dist/3d/world/world.d.ts +64 -0
- package/dist/backgrounds/advanced-gradient.d.ts +32 -0
- package/dist/backgrounds/atmospheric-backgrounds.d.ts +79 -0
- package/dist/backgrounds/aurora.d.ts +24 -0
- package/dist/backgrounds/cosmic-background.d.ts +31 -0
- package/dist/backgrounds/energy-effects.d.ts +78 -0
- package/dist/backgrounds/floating-orbs.d.ts +26 -0
- package/dist/backgrounds/fluid-backgrounds.d.ts +72 -0
- package/dist/backgrounds/geometric-backgrounds.d.ts +78 -0
- package/dist/backgrounds/gradient.d.ts +20 -0
- package/dist/backgrounds/grid.d.ts +22 -0
- package/dist/backgrounds/internal/canvas-lifecycle.d.ts +29 -0
- package/dist/backgrounds/noise.d.ts +20 -0
- package/dist/backgrounds/particle-background.d.ts +37 -0
- package/dist/backgrounds/particle-field.d.ts +22 -0
- package/dist/backgrounds/spotlight.d.ts +20 -0
- package/dist/backgrounds/wave.d.ts +22 -0
- package/dist/catalogue.d.ts +227 -0
- package/dist/catalogue.js +4 -0
- package/dist/chunks/catalogue-ZmbeEdRo.js +59850 -0
- package/dist/chunks/core-animation-CeiI_TEe.js +1394 -0
- package/dist/chunks/motion-choreography-DC6LWvDk.js +4089 -0
- package/dist/chunks/pointer-capture-lrnKAl2I.js +158 -0
- package/dist/chunks/safe-json-D5j34GEB.js +62 -0
- package/dist/chunks/scroll-velocity-BNUHaS0-.js +904 -0
- package/dist/cli/commands/doctor.d.ts +9 -0
- package/dist/cli/commands/example.d.ts +9 -0
- package/dist/cli/commands/info.d.ts +8 -0
- package/dist/cli/commands/init.d.ts +9 -0
- package/dist/cli/commands/presets.d.ts +10 -0
- package/dist/cli/commands/validate.d.ts +9 -0
- package/dist/cli/index.d.ts +22 -0
- package/dist/cli/types.d.ts +115 -0
- package/dist/cli/utils/safety.d.ts +11 -0
- package/dist/cli/utils/templates.d.ts +16 -0
- package/dist/cli/utils/terminal.d.ts +29 -0
- package/dist/cli.js +825 -0
- package/dist/core/adaptive-motion.d.ts +100 -0
- package/dist/core/adaptive-quality/controller.d.ts +61 -0
- package/dist/core/adaptive-quality/index.d.ts +13 -0
- package/dist/core/adaptive-quality/metrics.d.ts +33 -0
- package/dist/core/adaptive-quality/policies.d.ts +40 -0
- package/dist/core/adaptive-quality/profile.d.ts +58 -0
- package/dist/core/adaptive-quality/react.d.ts +57 -0
- package/dist/core/adaptive-quality/recommendation.d.ts +12 -0
- package/dist/core/adaptive-quality/resolution.d.ts +22 -0
- package/dist/core/adaptive-quality/types.d.ts +362 -0
- package/dist/core/advanced-motion/adapters.d.ts +20 -0
- package/dist/core/advanced-motion/controller.d.ts +52 -0
- package/dist/core/advanced-motion/index.d.ts +12 -0
- package/dist/core/advanced-motion/recipes.d.ts +16 -0
- package/dist/core/advanced-motion/timeline.d.ts +35 -0
- package/dist/core/advanced-motion/types.d.ts +174 -0
- package/dist/core/advanced-motion/validation.d.ts +11 -0
- package/dist/core/agent-workflows/agent-registry.d.ts +21 -0
- package/dist/core/agent-workflows/agents/accessibility-agent.d.ts +9 -0
- package/dist/core/agent-workflows/agents/composition-agent.d.ts +9 -0
- package/dist/core/agent-workflows/agents/design-to-motion-agent.d.ts +9 -0
- package/dist/core/agent-workflows/agents/index.d.ts +13 -0
- package/dist/core/agent-workflows/agents/motion-intelligence-agent.d.ts +9 -0
- package/dist/core/agent-workflows/agents/performance-agent.d.ts +9 -0
- package/dist/core/agent-workflows/agents/scene-generation-agent.d.ts +9 -0
- package/dist/core/agent-workflows/collaboration-planner.d.ts +38 -0
- package/dist/core/agent-workflows/collaboration-workflows.d.ts +83 -0
- package/dist/core/agent-workflows/communication.d.ts +29 -0
- package/dist/core/agent-workflows/conflict-resolver.d.ts +25 -0
- package/dist/core/agent-workflows/context.d.ts +36 -0
- package/dist/core/agent-workflows/execution-engine.d.ts +30 -0
- package/dist/core/agent-workflows/index.d.ts +20 -0
- package/dist/core/agent-workflows/orchestration-types.d.ts +144 -0
- package/dist/core/agent-workflows/orchestrator.d.ts +29 -0
- package/dist/core/agent-workflows/react.d.ts +71 -0
- package/dist/core/agent-workflows/shared-context.d.ts +36 -0
- package/dist/core/agent-workflows/task-planner.d.ts +42 -0
- package/dist/core/agent-workflows/templates.d.ts +14 -0
- package/dist/core/agent-workflows/tool-registry.d.ts +24 -0
- package/dist/core/agent-workflows/types.d.ts +167 -0
- package/dist/core/ai-ecosystem/capability-registry.d.ts +23 -0
- package/dist/core/ai-ecosystem/index.d.ts +13 -0
- package/dist/core/ai-ecosystem/pipeline.d.ts +19 -0
- package/dist/core/ai-ecosystem/provider.d.ts +19 -0
- package/dist/core/ai-ecosystem/types.d.ts +69 -0
- package/dist/core/ai-motion-intelligence/engine.d.ts +51 -0
- package/dist/core/ai-motion-intelligence/explanation-engine.d.ts +8 -0
- package/dist/core/ai-motion-intelligence/index.d.ts +15 -0
- package/dist/core/ai-motion-intelligence/intent-classifier.d.ts +14 -0
- package/dist/core/ai-motion-intelligence/knowledge-base.d.ts +12 -0
- package/dist/core/ai-motion-intelligence/provider.d.ts +31 -0
- package/dist/core/ai-motion-intelligence/quality-evaluator.d.ts +9 -0
- package/dist/core/ai-motion-intelligence/react.d.ts +14 -0
- package/dist/core/ai-motion-intelligence/recommendation-engine.d.ts +16 -0
- package/dist/core/ai-motion-intelligence/types.d.ts +134 -0
- package/dist/core/ai-motion-registry.d.ts +201 -0
- package/dist/core/animate.d.ts +57 -0
- package/dist/core/animation-intelligence/engine.d.ts +42 -0
- package/dist/core/animation-intelligence/index.d.ts +11 -0
- package/dist/core/animation-intelligence/intent.d.ts +15 -0
- package/dist/core/animation-intelligence/schema.d.ts +42 -0
- package/dist/core/animation-intelligence/scoring.d.ts +15 -0
- package/dist/core/animation-intelligence/types.d.ts +91 -0
- package/dist/core/animation-parallel.d.ts +37 -0
- package/dist/core/animation-presets.d.ts +56 -0
- package/dist/core/animation-sequence.d.ts +37 -0
- package/dist/core/animation-timeline.d.ts +46 -0
- package/dist/core/animation.d.ts +48 -0
- package/dist/core/built-in-palettes.d.ts +331 -0
- package/dist/core/choreography-intelligence/bridge.d.ts +43 -0
- package/dist/core/choreography-intelligence/generator.d.ts +11 -0
- package/dist/core/choreography-intelligence/index.d.ts +11 -0
- package/dist/core/choreography-intelligence/intent.d.ts +11 -0
- package/dist/core/choreography-intelligence/schema.d.ts +76 -0
- package/dist/core/choreography-intelligence/types.d.ts +87 -0
- package/dist/core/composition.d.ts +170 -0
- package/dist/core/configuration-corrector.d.ts +85 -0
- package/dist/core/design-intelligence.d.ts +199 -0
- package/dist/core/design-system.d.ts +206 -0
- package/dist/core/design-to-motion/design-analyzer.d.ts +13 -0
- package/dist/core/design-to-motion/engine.d.ts +34 -0
- package/dist/core/design-to-motion/generator.d.ts +16 -0
- package/dist/core/design-to-motion/index.d.ts +15 -0
- package/dist/core/design-to-motion/input-parser.d.ts +17 -0
- package/dist/core/design-to-motion/motion-planner.d.ts +11 -0
- package/dist/core/design-to-motion/presets.d.ts +11 -0
- package/dist/core/design-to-motion/react.d.ts +13 -0
- package/dist/core/design-to-motion/types.d.ts +221 -0
- package/dist/core/design-to-motion/validator.d.ts +13 -0
- package/dist/core/device-capabilities/classification.d.ts +25 -0
- package/dist/core/device-capabilities/detection.d.ts +27 -0
- package/dist/core/device-capabilities/graphics.d.ts +22 -0
- package/dist/core/device-capabilities/hardware.d.ts +27 -0
- package/dist/core/device-capabilities/index.d.ts +14 -0
- package/dist/core/device-capabilities/monitor.d.ts +19 -0
- package/dist/core/device-capabilities/react.d.ts +24 -0
- package/dist/core/device-capabilities/runtime.d.ts +11 -0
- package/dist/core/device-capabilities/scoring.d.ts +18 -0
- package/dist/core/device-capabilities/types.d.ts +171 -0
- package/dist/core/effect-composer.d.ts +41 -0
- package/dist/core/generation-pipeline.d.ts +135 -0
- package/dist/core/inertia.d.ts +30 -0
- package/dist/core/interactions/cursor-controller.d.ts +9 -0
- package/dist/core/interactions/custom-gestures.d.ts +28 -0
- package/dist/core/interactions/device-capabilities.d.ts +12 -0
- package/dist/core/interactions/drag-controller.d.ts +60 -0
- package/dist/core/interactions/errors.d.ts +13 -0
- package/dist/core/interactions/gesture-classifier.d.ts +43 -0
- package/dist/core/interactions/gesture-intelligence-controller.d.ts +9 -0
- package/dist/core/interactions/gesture-recognizers.d.ts +160 -0
- package/dist/core/interactions/gesture-sequence.d.ts +9 -0
- package/dist/core/interactions/index.d.ts +27 -0
- package/dist/core/interactions/input-normalizer.d.ts +8 -0
- package/dist/core/interactions/interaction-manager.d.ts +43 -0
- package/dist/core/interactions/keyboard-manager.d.ts +16 -0
- package/dist/core/interactions/magnetic-controller.d.ts +9 -0
- package/dist/core/interactions/magnetic-group.d.ts +11 -0
- package/dist/core/interactions/multitouch-controller.d.ts +62 -0
- package/dist/core/interactions/pointer-controller.d.ts +34 -0
- package/dist/core/interactions/pointer-tracker.d.ts +32 -0
- package/dist/core/interactions/prioritizer.d.ts +17 -0
- package/dist/core/interactions/touch-controller.d.ts +35 -0
- package/dist/core/interactions/types.d.ts +710 -0
- package/dist/core/layout/controller.d.ts +56 -0
- package/dist/core/layout/flip.d.ts +21 -0
- package/dist/core/layout/group.d.ts +46 -0
- package/dist/core/layout/index.d.ts +12 -0
- package/dist/core/layout/measure.d.ts +30 -0
- package/dist/core/layout/presets.d.ts +24 -0
- package/dist/core/layout/types.d.ts +189 -0
- package/dist/core/microinteractions/generator.d.ts +11 -0
- package/dist/core/microinteractions/index.d.ts +11 -0
- package/dist/core/microinteractions/intent.d.ts +11 -0
- package/dist/core/microinteractions/runtime.d.ts +25 -0
- package/dist/core/microinteractions/schema.d.ts +82 -0
- package/dist/core/microinteractions/types.d.ts +79 -0
- package/dist/core/motion-choreography.d.ts +163 -0
- package/dist/core/motion-dna.d.ts +129 -0
- package/dist/core/motion-path/animator.d.ts +13 -0
- package/dist/core/motion-path/engine.d.ts +27 -0
- package/dist/core/motion-path/follower.d.ts +8 -0
- package/dist/core/motion-path/index.d.ts +15 -0
- package/dist/core/motion-path/lut.d.ts +33 -0
- package/dist/core/motion-path/parser.d.ts +26 -0
- package/dist/core/motion-path/segments.d.ts +16 -0
- package/dist/core/motion-path/types.d.ts +178 -0
- package/dist/core/motion-path/vector3.d.ts +49 -0
- package/dist/core/motion-recipe.d.ts +171 -0
- package/dist/core/motion-states.d.ts +43 -0
- package/dist/core/motion-validation/consistency.d.ts +11 -0
- package/dist/core/motion-validation/index.d.ts +11 -0
- package/dist/core/motion-validation/optimizer.d.ts +11 -0
- package/dist/core/motion-validation/schema.d.ts +81 -0
- package/dist/core/motion-validation/types.d.ts +53 -0
- package/dist/core/motion-validation/validator.d.ts +11 -0
- package/dist/core/motion.d.ts +7 -0
- package/dist/core/natural-motion.d.ts +110 -0
- package/dist/core/palette-colors.d.ts +16 -0
- package/dist/core/palette-styles.d.ts +12 -0
- package/dist/core/palettes.d.ts +59 -0
- package/dist/core/performance-intelligence/conflicts.d.ts +21 -0
- package/dist/core/performance-intelligence/context.d.ts +48 -0
- package/dist/core/performance-intelligence/coordinator.d.ts +84 -0
- package/dist/core/performance-intelligence/decisions.d.ts +17 -0
- package/dist/core/performance-intelligence/history.d.ts +44 -0
- package/dist/core/performance-intelligence/index.d.ts +15 -0
- package/dist/core/performance-intelligence/policies.d.ts +59 -0
- package/dist/core/performance-intelligence/react.d.ts +78 -0
- package/dist/core/performance-intelligence/report.d.ts +16 -0
- package/dist/core/performance-intelligence/scoring.d.ts +16 -0
- package/dist/core/performance-intelligence/types.d.ts +203 -0
- package/dist/core/performance-optimizer/bottlenecks.d.ts +9 -0
- package/dist/core/performance-optimizer/index.d.ts +13 -0
- package/dist/core/performance-optimizer/optimizer.d.ts +43 -0
- package/dist/core/performance-optimizer/profiler.d.ts +38 -0
- package/dist/core/performance-optimizer/react.d.ts +55 -0
- package/dist/core/performance-optimizer/strategies.d.ts +22 -0
- package/dist/core/performance-optimizer/types.d.ts +227 -0
- package/dist/core/performance-optimizer/workers.d.ts +27 -0
- package/dist/core/physics/collision-constraints.d.ts +15 -0
- package/dist/core/physics/collision-detection.d.ts +93 -0
- package/dist/core/physics/collision-response.d.ts +24 -0
- package/dist/core/physics/collision-types.d.ts +381 -0
- package/dist/core/physics/collision-world.d.ts +11 -0
- package/dist/core/physics/composition-behaviors.d.ts +97 -0
- package/dist/core/physics/composition-choreography.d.ts +14 -0
- package/dist/core/physics/composition-engine.d.ts +25 -0
- package/dist/core/physics/composition-recipes.d.ts +46 -0
- package/dist/core/physics/composition-types.d.ts +265 -0
- package/dist/core/physics/composition-validation.d.ts +33 -0
- package/dist/core/physics/index.d.ts +37 -0
- package/dist/core/physics/inertia-animation.d.ts +11 -0
- package/dist/core/physics/inertia-math.d.ts +56 -0
- package/dist/core/physics/inertia-presets.d.ts +25 -0
- package/dist/core/physics/inertia-simulation.d.ts +11 -0
- package/dist/core/physics/inertia-types.d.ts +355 -0
- package/dist/core/physics/inertia-validation.d.ts +22 -0
- package/dist/core/physics/math.d.ts +99 -0
- package/dist/core/physics/presets.d.ts +28 -0
- package/dist/core/physics/simulation.d.ts +11 -0
- package/dist/core/physics/spring-animation.d.ts +11 -0
- package/dist/core/physics/spring-math.d.ts +47 -0
- package/dist/core/physics/spring-presets.d.ts +29 -0
- package/dist/core/physics/spring-simulation.d.ts +11 -0
- package/dist/core/physics/spring-types.d.ts +350 -0
- package/dist/core/physics/spring-validation.d.ts +22 -0
- package/dist/core/physics/stepper.d.ts +24 -0
- package/dist/core/physics/types.d.ts +280 -0
- package/dist/core/physics/validation.d.ts +62 -0
- package/dist/core/pointer-capture.d.ts +7 -0
- package/dist/core/reference-analysis/index.d.ts +10 -0
- package/dist/core/reference-analysis/interpreter.d.ts +12 -0
- package/dist/core/reference-analysis/planner.d.ts +15 -0
- package/dist/core/reference-analysis/specification.d.ts +14 -0
- package/dist/core/reference-analysis/types.d.ts +244 -0
- package/dist/core/resource-intelligence/cache.d.ts +43 -0
- package/dist/core/resource-intelligence/gpu.d.ts +19 -0
- package/dist/core/resource-intelligence/index.d.ts +16 -0
- package/dist/core/resource-intelligence/leaks.d.ts +13 -0
- package/dist/core/resource-intelligence/memory.d.ts +27 -0
- package/dist/core/resource-intelligence/pooling.d.ts +32 -0
- package/dist/core/resource-intelligence/pressure.d.ts +32 -0
- package/dist/core/resource-intelligence/react.d.ts +63 -0
- package/dist/core/resource-intelligence/registry.d.ts +33 -0
- package/dist/core/resource-intelligence/reports.d.ts +14 -0
- package/dist/core/resource-intelligence/types.d.ts +232 -0
- package/dist/core/scene-generation/engine.d.ts +31 -0
- package/dist/core/scene-generation/generator.d.ts +14 -0
- package/dist/core/scene-generation/index.d.ts +14 -0
- package/dist/core/scene-generation/input-parser.d.ts +24 -0
- package/dist/core/scene-generation/presets.d.ts +10 -0
- package/dist/core/scene-generation/react.d.ts +13 -0
- package/dist/core/scene-generation/scene-analyzer.d.ts +9 -0
- package/dist/core/scene-generation/scene-planner.d.ts +12 -0
- package/dist/core/scene-generation/types.d.ts +236 -0
- package/dist/core/scene-generation/validator.d.ts +18 -0
- package/dist/core/schema.d.ts +185 -0
- package/dist/core/scroll-intelligence/generator.d.ts +11 -0
- package/dist/core/scroll-intelligence/index.d.ts +11 -0
- package/dist/core/scroll-intelligence/intent.d.ts +11 -0
- package/dist/core/scroll-intelligence/runtime.d.ts +21 -0
- package/dist/core/scroll-intelligence/schema.d.ts +78 -0
- package/dist/core/scroll-intelligence/types.d.ts +85 -0
- package/dist/core/spring.d.ts +38 -0
- package/dist/core/svg-morph/animator.d.ts +10 -0
- package/dist/core/svg-morph/arc-to-cubic.d.ts +11 -0
- package/dist/core/svg-morph/index.d.ts +10 -0
- package/dist/core/svg-morph/interpolate.d.ts +23 -0
- package/dist/core/svg-morph/normalize.d.ts +34 -0
- package/dist/core/svg-morph/parser.d.ts +13 -0
- package/dist/core/svg-morph/shapes.d.ts +32 -0
- package/dist/core/svg-morph/types.d.ts +144 -0
- package/dist/core/transform.d.ts +27 -0
- package/dist/core/transitions/controller.d.ts +45 -0
- package/dist/core/transitions/engine.d.ts +26 -0
- package/dist/core/transitions/group-transition.d.ts +30 -0
- package/dist/core/transitions/index.d.ts +15 -0
- package/dist/core/transitions/presets.d.ts +16 -0
- package/dist/core/transitions/schema.d.ts +71 -0
- package/dist/core/transitions/shared-element-transition.d.ts +88 -0
- package/dist/core/transitions/shared-element.d.ts +84 -0
- package/dist/core/transitions/types.d.ts +185 -0
- package/dist/core/transitions/view-transition.d.ts +25 -0
- package/dist/core/typography/engine.d.ts +19 -0
- package/dist/core/typography/index.d.ts +15 -0
- package/dist/core/typography/path-motion.d.ts +24 -0
- package/dist/core/typography/presets.d.ts +14 -0
- package/dist/core/typography/properties.d.ts +19 -0
- package/dist/core/typography/segmenter.d.ts +32 -0
- package/dist/core/typography/stagger.d.ts +15 -0
- package/dist/core/typography/transitions.d.ts +11 -0
- package/dist/core/typography/types.d.ts +154 -0
- package/dist/core/utils/safe-json.d.ts +50 -0
- package/dist/core/visual-style-registry.d.ts +659 -0
- package/dist/easing/easings.d.ts +44 -0
- package/dist/effects/border-beam.d.ts +28 -0
- package/dist/effects/count-up.d.ts +30 -0
- package/dist/effects/cursor-trail.d.ts +23 -0
- package/dist/effects/drag.d.ts +41 -0
- package/dist/effects/draw-svg.d.ts +19 -0
- package/dist/effects/follow-pointer.d.ts +19 -0
- package/dist/effects/glow.d.ts +25 -0
- package/dist/effects/gradient-text.d.ts +22 -0
- package/dist/effects/hover-motion.d.ts +32 -0
- package/dist/effects/in-view.d.ts +14 -0
- package/dist/effects/magnetic.d.ts +40 -0
- package/dist/effects/morph-svg.d.ts +15 -0
- package/dist/effects/parallax.d.ts +42 -0
- package/dist/effects/pinch.d.ts +27 -0
- package/dist/effects/reveal.d.ts +33 -0
- package/dist/effects/ripple.d.ts +21 -0
- package/dist/effects/scroll-animate.d.ts +23 -0
- package/dist/effects/scroll-direction.d.ts +19 -0
- package/dist/effects/scroll-progress.d.ts +29 -0
- package/dist/effects/scroll-trigger.d.ts +22 -0
- package/dist/effects/scroll-velocity.d.ts +29 -0
- package/dist/effects/shine.d.ts +23 -0
- package/dist/effects/split-text.d.ts +17 -0
- package/dist/effects/spotlight.d.ts +24 -0
- package/dist/effects/stagger.d.ts +46 -0
- package/dist/effects/swipe.d.ts +27 -0
- package/dist/effects/text-highlight.d.ts +25 -0
- package/dist/effects/text-mask.d.ts +25 -0
- package/dist/effects/text-reveal.d.ts +28 -0
- package/dist/effects/text-scramble.d.ts +18 -0
- package/dist/effects/tilt.d.ts +42 -0
- package/dist/effects/typewriter.d.ts +26 -0
- package/dist/graphics/capabilities.d.ts +12 -0
- package/dist/graphics/composition/engine.d.ts +14 -0
- package/dist/graphics/composition/fallback.d.ts +13 -0
- package/dist/graphics/composition/index.d.ts +10 -0
- package/dist/graphics/composition/ordering.d.ts +29 -0
- package/dist/graphics/composition/quality.d.ts +24 -0
- package/dist/graphics/composition/schema.d.ts +156 -0
- package/dist/graphics/composition/types.d.ts +81 -0
- package/dist/graphics/composition/unified.d.ts +23 -0
- package/dist/graphics/effects/advanced/engine.d.ts +9 -0
- package/dist/graphics/effects/advanced/index.d.ts +1 -0
- package/dist/graphics/effects/composer.d.ts +9 -0
- package/dist/graphics/effects/distortion/engine.d.ts +9 -0
- package/dist/graphics/effects/distortion/index.d.ts +1 -0
- package/dist/graphics/effects/fluid/engine.d.ts +9 -0
- package/dist/graphics/effects/fluid/index.d.ts +1 -0
- package/dist/graphics/effects/index.d.ts +10 -0
- package/dist/graphics/effects/particles/engine.d.ts +9 -0
- package/dist/graphics/effects/particles/index.d.ts +2 -0
- package/dist/graphics/effects/particles/pool.d.ts +17 -0
- package/dist/graphics/effects/schema.d.ts +312 -0
- package/dist/graphics/effects/types.d.ts +85 -0
- package/dist/graphics/engine.d.ts +5 -0
- package/dist/graphics/environment/clouds.d.ts +28 -0
- package/dist/graphics/environment/environment.d.ts +50 -0
- package/dist/graphics/environment/fire-smoke.d.ts +32 -0
- package/dist/graphics/environment/fog.d.ts +28 -0
- package/dist/graphics/environment/index.d.ts +18 -0
- package/dist/graphics/environment/lightning.d.ts +33 -0
- package/dist/graphics/environment/rain.d.ts +33 -0
- package/dist/graphics/environment/snow.d.ts +30 -0
- package/dist/graphics/environment/types.d.ts +184 -0
- package/dist/graphics/environment/weather.d.ts +19 -0
- package/dist/graphics/environment/wind.d.ts +23 -0
- package/dist/graphics/fluid/flow-field.d.ts +74 -0
- package/dist/graphics/fluid/grid.d.ts +43 -0
- package/dist/graphics/fluid/index.d.ts +13 -0
- package/dist/graphics/fluid/interactions.d.ts +39 -0
- package/dist/graphics/fluid/rendering.d.ts +32 -0
- package/dist/graphics/fluid/simulation.d.ts +50 -0
- package/dist/graphics/fluid/solver.d.ts +19 -0
- package/dist/graphics/fluid/types.d.ts +186 -0
- package/dist/graphics/gpu-simulation/backends/backend.d.ts +24 -0
- package/dist/graphics/gpu-simulation/backends/cpu.d.ts +21 -0
- package/dist/graphics/gpu-simulation/backends/selection.d.ts +15 -0
- package/dist/graphics/gpu-simulation/backends/webgl2.d.ts +28 -0
- package/dist/graphics/gpu-simulation/backends/webgpu.d.ts +23 -0
- package/dist/graphics/gpu-simulation/capabilities.d.ts +14 -0
- package/dist/graphics/gpu-simulation/device.d.ts +17 -0
- package/dist/graphics/gpu-simulation/engine.d.ts +8 -0
- package/dist/graphics/gpu-simulation/index.d.ts +22 -0
- package/dist/graphics/gpu-simulation/ping-pong.d.ts +23 -0
- package/dist/graphics/gpu-simulation/pipeline.d.ts +18 -0
- package/dist/graphics/gpu-simulation/resource-manager.d.ts +8 -0
- package/dist/graphics/gpu-simulation/shaders.d.ts +50 -0
- package/dist/graphics/gpu-simulation/types.d.ts +288 -0
- package/dist/graphics/index.d.ts +23 -0
- package/dist/graphics/materials/glass.d.ts +22 -0
- package/dist/graphics/materials/index.d.ts +9 -0
- package/dist/graphics/materials/lighting.d.ts +22 -0
- package/dist/graphics/materials/presets.d.ts +28 -0
- package/dist/graphics/materials/schema.d.ts +574 -0
- package/dist/graphics/materials/surface.d.ts +13 -0
- package/dist/graphics/materials/types.d.ts +150 -0
- package/dist/graphics/particle-fields/composition.d.ts +32 -0
- package/dist/graphics/particle-fields/forces.d.ts +103 -0
- package/dist/graphics/particle-fields/index.d.ts +12 -0
- package/dist/graphics/particle-fields/interaction.d.ts +32 -0
- package/dist/graphics/particle-fields/spatial-index.d.ts +20 -0
- package/dist/graphics/particle-fields/system.d.ts +52 -0
- package/dist/graphics/particle-fields/types.d.ts +138 -0
- package/dist/graphics/particles/behaviors.d.ts +11 -0
- package/dist/graphics/particles/controller.d.ts +82 -0
- package/dist/graphics/particles/data-layout.d.ts +51 -0
- package/dist/graphics/particles/emitters.d.ts +24 -0
- package/dist/graphics/particles/index.d.ts +15 -0
- package/dist/graphics/particles/random.d.ts +25 -0
- package/dist/graphics/particles/rendering.d.ts +16 -0
- package/dist/graphics/particles/simulation.d.ts +23 -0
- package/dist/graphics/particles/types.d.ts +282 -0
- package/dist/graphics/renderer.d.ts +66 -0
- package/dist/graphics/resource-manager.d.ts +6 -0
- package/dist/graphics/schema.d.ts +177 -0
- package/dist/graphics/simulation/adapters.d.ts +36 -0
- package/dist/graphics/simulation/coordinator.d.ts +64 -0
- package/dist/graphics/simulation/index.d.ts +11 -0
- package/dist/graphics/simulation/optimizer.d.ts +101 -0
- package/dist/graphics/simulation/resource-manager.d.ts +40 -0
- package/dist/graphics/simulation/types.d.ts +126 -0
- package/dist/graphics/textures/cache.d.ts +29 -0
- package/dist/graphics/textures/canvas-utils.d.ts +31 -0
- package/dist/graphics/textures/engine.d.ts +34 -0
- package/dist/graphics/textures/generators.d.ts +29 -0
- package/dist/graphics/textures/index.d.ts +11 -0
- package/dist/graphics/textures/material-integration.d.ts +20 -0
- package/dist/graphics/textures/prng.d.ts +27 -0
- package/dist/graphics/textures/schema.d.ts +219 -0
- package/dist/graphics/textures/types.d.ts +80 -0
- package/dist/graphics/types.d.ts +152 -0
- package/dist/graphics/viewport.d.ts +32 -0
- package/dist/index.d.ts +132 -0
- package/dist/index.js +4921 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/prompts.d.ts +9 -0
- package/dist/mcp/resources.d.ts +9 -0
- package/dist/mcp/server.d.ts +29 -0
- package/dist/mcp/tools.d.ts +9 -0
- package/dist/mcp/transport.d.ts +33 -0
- package/dist/mcp/types.d.ts +96 -0
- package/dist/presets.d.ts +176 -0
- package/dist/presets.js +3 -0
- package/dist/react.d.ts +5358 -0
- package/dist/react.js +7557 -0
- package/package.json +112 -6
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Inertia, Momentum, Friction & Gravity Type System
|
|
3
|
+
*
|
|
4
|
+
* Strongly typed contracts for mass-aware momentum simulations,
|
|
5
|
+
* multi-model friction and drag resistance, external forces, and directional gravity.
|
|
6
|
+
*/
|
|
7
|
+
import type { PhysicsValue, IntegratorType, PhysicsSimulationContext, PhysicsStepOptions } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Advanced configuration options for inertia and momentum simulations.
|
|
10
|
+
*/
|
|
11
|
+
export interface AdvancedInertiaConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Mass of the body in mass units / kilograms (m).
|
|
14
|
+
* Determines resistance to acceleration (F = m * a) and momentum (p = m * v).
|
|
15
|
+
* Must be finite and > 0. Default: 1.0.
|
|
16
|
+
*/
|
|
17
|
+
mass?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Viscous / exponential friction coefficient (gamma).
|
|
20
|
+
* Opposes velocity proportionally: F_viscous = -m * gamma * v.
|
|
21
|
+
* Must be finite and >= 0. Default: 4.0.
|
|
22
|
+
*/
|
|
23
|
+
friction?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Constant kinetic / Coulomb friction coefficient (mu).
|
|
26
|
+
* Opposes the direction of motion with constant magnitude: F_kinetic = -mu * m * norm(v).
|
|
27
|
+
* Must be finite and >= 0. Default: 0.
|
|
28
|
+
*/
|
|
29
|
+
linearFriction?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Aerodynamic drag / quadratic air resistance coefficient (c_d).
|
|
32
|
+
* Opposes velocity quadratically: F_drag = -c_d * |v| * v.
|
|
33
|
+
* Must be finite and >= 0. Default: 0.
|
|
34
|
+
*/
|
|
35
|
+
drag?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Directional gravity acceleration vector or scalar (g).
|
|
38
|
+
* Generates weight force: F_gravity = m * g.
|
|
39
|
+
* Scalar (e.g. 9.8 or 980) or vector (e.g. { x: 0, y: 9.8 } or { x: 0, y: -980, z: 0 }).
|
|
40
|
+
* Default: 0.
|
|
41
|
+
*/
|
|
42
|
+
gravity?: PhysicsValue;
|
|
43
|
+
/**
|
|
44
|
+
* Optional maximum speed / terminal velocity clamp.
|
|
45
|
+
* If speed exceeds this value, velocity is clamped to this magnitude.
|
|
46
|
+
* Must be finite and > 0.
|
|
47
|
+
*/
|
|
48
|
+
terminalVelocity?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Minimum speed threshold below which motion is considered settled.
|
|
51
|
+
* Default: 0.5. Must be finite and >= 0.
|
|
52
|
+
*/
|
|
53
|
+
minVelocity?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Initial spatial position (scalar or vector).
|
|
56
|
+
* Default: 0.
|
|
57
|
+
*/
|
|
58
|
+
from?: PhysicsValue;
|
|
59
|
+
/**
|
|
60
|
+
* Initial velocity vector or scalar (v0).
|
|
61
|
+
* Default: 0.
|
|
62
|
+
*/
|
|
63
|
+
initialVelocity?: PhysicsValue;
|
|
64
|
+
/**
|
|
65
|
+
* Optional lower bound coordinate. If position exceeds lower bound,
|
|
66
|
+
* movement is clamped and velocity in that axis is zeroed.
|
|
67
|
+
*/
|
|
68
|
+
min?: PhysicsValue;
|
|
69
|
+
/**
|
|
70
|
+
* Optional upper bound coordinate. If position exceeds upper bound,
|
|
71
|
+
* movement is clamped and velocity in that axis is zeroed.
|
|
72
|
+
*/
|
|
73
|
+
max?: PhysicsValue;
|
|
74
|
+
/**
|
|
75
|
+
* Discrete fixed timestep in seconds for numerical integration steps.
|
|
76
|
+
* Default: 1/60 (~0.016667s). Must be finite and > 0.
|
|
77
|
+
*/
|
|
78
|
+
timestep?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Numerical integration algorithm.
|
|
81
|
+
* Default: 'semi-implicit-euler'.
|
|
82
|
+
*/
|
|
83
|
+
integrator?: IntegratorType;
|
|
84
|
+
/**
|
|
85
|
+
* Simulation time progression multiplier.
|
|
86
|
+
* Default: 1.0. Must be finite and >= 0.
|
|
87
|
+
*/
|
|
88
|
+
timeScale?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Maximum sub-steps per frame to prevent the spiral of death.
|
|
91
|
+
* Default: 10. Must be an integer >= 1.
|
|
92
|
+
*/
|
|
93
|
+
maxSubSteps?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Precision threshold snapping small micro-velocities to zero.
|
|
96
|
+
* Default: 1e-5.
|
|
97
|
+
*/
|
|
98
|
+
precision?: number;
|
|
99
|
+
/**
|
|
100
|
+
* Automatically start advancing on creation.
|
|
101
|
+
* Default: false.
|
|
102
|
+
*/
|
|
103
|
+
autoStart?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Respect system reduced motion preferences.
|
|
106
|
+
* Default: true.
|
|
107
|
+
*/
|
|
108
|
+
respectReducedMotion?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Complete snapshot of the inertia simulation state.
|
|
112
|
+
*/
|
|
113
|
+
export interface InertiaState {
|
|
114
|
+
/**
|
|
115
|
+
* Current spatial position (scalar or vector).
|
|
116
|
+
*/
|
|
117
|
+
readonly position: PhysicsValue;
|
|
118
|
+
/**
|
|
119
|
+
* Current instantaneous velocity (scalar or vector).
|
|
120
|
+
*/
|
|
121
|
+
readonly velocity: PhysicsValue;
|
|
122
|
+
/**
|
|
123
|
+
* Current instantaneous acceleration (scalar or vector).
|
|
124
|
+
*/
|
|
125
|
+
readonly acceleration: PhysicsValue;
|
|
126
|
+
/**
|
|
127
|
+
* Total net force acting on the body: F_net = F_gravity + F_friction + F_drag + F_external.
|
|
128
|
+
*/
|
|
129
|
+
readonly netForce: PhysicsValue;
|
|
130
|
+
/**
|
|
131
|
+
* Mass of the body.
|
|
132
|
+
*/
|
|
133
|
+
readonly mass: number;
|
|
134
|
+
/**
|
|
135
|
+
* Whether the body has settled at rest.
|
|
136
|
+
*/
|
|
137
|
+
readonly settled: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Current speed (Euclidean magnitude of velocity).
|
|
140
|
+
*/
|
|
141
|
+
readonly speed: number;
|
|
142
|
+
/**
|
|
143
|
+
* Momentum vector or scalar (p = m * v).
|
|
144
|
+
*/
|
|
145
|
+
readonly momentum: PhysicsValue;
|
|
146
|
+
/**
|
|
147
|
+
* Kinetic energy of the body: E_k = 0.5 * m * |v|^2.
|
|
148
|
+
*/
|
|
149
|
+
readonly kineticEnergy: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Diagnostic result returned by each inertia simulation step.
|
|
153
|
+
*/
|
|
154
|
+
export interface InertiaStepResult {
|
|
155
|
+
readonly position: PhysicsValue;
|
|
156
|
+
readonly velocity: PhysicsValue;
|
|
157
|
+
readonly acceleration: PhysicsValue;
|
|
158
|
+
readonly netForce: PhysicsValue;
|
|
159
|
+
readonly settled: boolean;
|
|
160
|
+
readonly stepsTaken: number;
|
|
161
|
+
readonly clamped: boolean;
|
|
162
|
+
readonly context: PhysicsSimulationContext;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Standard inertia preset names.
|
|
166
|
+
*/
|
|
167
|
+
export type InertiaPresetName = "natural" | "heavy" | "light" | "high-friction" | "low-friction" | "air-resistance" | "gravity" | "zero-gravity" | "fast-deceleration";
|
|
168
|
+
/**
|
|
169
|
+
* Named preset structure for inertia configurations.
|
|
170
|
+
*/
|
|
171
|
+
export interface InertiaPreset {
|
|
172
|
+
readonly id: string;
|
|
173
|
+
readonly name: string;
|
|
174
|
+
readonly description: string;
|
|
175
|
+
readonly config: Partial<AdvancedInertiaConfig>;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Callback signatures for inertia events.
|
|
179
|
+
*/
|
|
180
|
+
export type InertiaUpdateListener = (state: InertiaState, context: PhysicsSimulationContext) => void;
|
|
181
|
+
export type InertiaSettleListener = (state: InertiaState, context: PhysicsSimulationContext) => void;
|
|
182
|
+
export type InertiaCompleteListener = (state: InertiaState, context: PhysicsSimulationContext) => void;
|
|
183
|
+
/**
|
|
184
|
+
* Options for creating an independent inertia simulation instance.
|
|
185
|
+
*/
|
|
186
|
+
export interface AdvancedInertiaOptions {
|
|
187
|
+
/**
|
|
188
|
+
* Configuration object or named preset identifier.
|
|
189
|
+
*/
|
|
190
|
+
config?: AdvancedInertiaConfig | InertiaPresetName;
|
|
191
|
+
/**
|
|
192
|
+
* Starting position override.
|
|
193
|
+
*/
|
|
194
|
+
from?: PhysicsValue;
|
|
195
|
+
/**
|
|
196
|
+
* Initial velocity override.
|
|
197
|
+
*/
|
|
198
|
+
initialVelocity?: PhysicsValue;
|
|
199
|
+
/**
|
|
200
|
+
* Gravity vector/scalar override.
|
|
201
|
+
*/
|
|
202
|
+
gravity?: PhysicsValue;
|
|
203
|
+
/**
|
|
204
|
+
* Called on every simulation step.
|
|
205
|
+
*/
|
|
206
|
+
onUpdate?: InertiaUpdateListener;
|
|
207
|
+
/**
|
|
208
|
+
* Called once when the body decelerates to rest.
|
|
209
|
+
*/
|
|
210
|
+
onSettle?: InertiaSettleListener;
|
|
211
|
+
/**
|
|
212
|
+
* Called once when the simulation reaches completion or settles.
|
|
213
|
+
*/
|
|
214
|
+
onComplete?: InertiaCompleteListener;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Public controller interface for an active inertia simulation instance.
|
|
218
|
+
*/
|
|
219
|
+
export interface AdvancedInertiaControls {
|
|
220
|
+
/**
|
|
221
|
+
* Starts or resumes the inertia simulation.
|
|
222
|
+
*/
|
|
223
|
+
start(): void;
|
|
224
|
+
/**
|
|
225
|
+
* Pauses the simulation without losing position, velocity, or momentum.
|
|
226
|
+
*/
|
|
227
|
+
pause(): void;
|
|
228
|
+
/**
|
|
229
|
+
* Resumes a paused simulation.
|
|
230
|
+
*/
|
|
231
|
+
resume(): void;
|
|
232
|
+
/**
|
|
233
|
+
* Stops the simulation and marks it idle.
|
|
234
|
+
*/
|
|
235
|
+
stop(): void;
|
|
236
|
+
/**
|
|
237
|
+
* Resets the simulation to its initial state or baseline.
|
|
238
|
+
*/
|
|
239
|
+
reset(newInitialState?: Partial<AdvancedInertiaConfig>): void;
|
|
240
|
+
/**
|
|
241
|
+
* Manually steps the inertia simulation forward by deltaTime seconds.
|
|
242
|
+
*/
|
|
243
|
+
step(deltaTimeOrOptions?: number | PhysicsStepOptions): InertiaStepResult;
|
|
244
|
+
/**
|
|
245
|
+
* Applies an external force (F) that acts on the body.
|
|
246
|
+
* Can be sustained or continuous.
|
|
247
|
+
*/
|
|
248
|
+
applyForce(force: PhysicsValue): void;
|
|
249
|
+
/**
|
|
250
|
+
* Clears any active continuous external force.
|
|
251
|
+
*/
|
|
252
|
+
clearForce(): void;
|
|
253
|
+
/**
|
|
254
|
+
* Applies an instantaneous impulse (J), altering velocity by: delta_v = J / mass.
|
|
255
|
+
*/
|
|
256
|
+
applyImpulse(impulse: PhysicsValue): void;
|
|
257
|
+
/**
|
|
258
|
+
* Injects or adds velocity to the current velocity vector.
|
|
259
|
+
*/
|
|
260
|
+
injectVelocity(deltaVelocity: PhysicsValue): void;
|
|
261
|
+
/**
|
|
262
|
+
* Directly sets the current velocity vector.
|
|
263
|
+
*/
|
|
264
|
+
setVelocity(newVelocity: PhysicsValue): void;
|
|
265
|
+
/**
|
|
266
|
+
* Directly overrides the current position coordinates.
|
|
267
|
+
*/
|
|
268
|
+
setPosition(newPosition: PhysicsValue): void;
|
|
269
|
+
/**
|
|
270
|
+
* Inverts the direction of the velocity vector.
|
|
271
|
+
*/
|
|
272
|
+
reverseVelocity(): void;
|
|
273
|
+
/**
|
|
274
|
+
* Dynamically updates the gravity vector.
|
|
275
|
+
*/
|
|
276
|
+
setGravity(gravity: PhysicsValue): void;
|
|
277
|
+
/**
|
|
278
|
+
* Dynamically updates the friction coefficient.
|
|
279
|
+
*/
|
|
280
|
+
setFriction(friction: number): void;
|
|
281
|
+
/**
|
|
282
|
+
* Updates the simulation time scaling factor dynamically.
|
|
283
|
+
*/
|
|
284
|
+
setTimeScale(scale: number): void;
|
|
285
|
+
/**
|
|
286
|
+
* Returns a snapshot of the current state.
|
|
287
|
+
*/
|
|
288
|
+
getState(): InertiaState;
|
|
289
|
+
/**
|
|
290
|
+
* Returns a snapshot of the current simulation context.
|
|
291
|
+
*/
|
|
292
|
+
getContext(): PhysicsSimulationContext;
|
|
293
|
+
/**
|
|
294
|
+
* Returns the current resolved configuration.
|
|
295
|
+
*/
|
|
296
|
+
getConfiguration(): Required<AdvancedInertiaConfig>;
|
|
297
|
+
/**
|
|
298
|
+
* Dynamically updates physical configuration parameters.
|
|
299
|
+
*/
|
|
300
|
+
setConfiguration(config: Partial<AdvancedInertiaConfig>): void;
|
|
301
|
+
/**
|
|
302
|
+
* Returns whether the body has settled at rest.
|
|
303
|
+
*/
|
|
304
|
+
isSettled(): boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Returns whether the simulation has completed.
|
|
307
|
+
*/
|
|
308
|
+
isCompleted(): boolean;
|
|
309
|
+
/**
|
|
310
|
+
* Returns whether the simulation is currently active and running.
|
|
311
|
+
*/
|
|
312
|
+
isRunning(): boolean;
|
|
313
|
+
/**
|
|
314
|
+
* Returns whether the simulation is currently paused.
|
|
315
|
+
*/
|
|
316
|
+
isPaused(): boolean;
|
|
317
|
+
/**
|
|
318
|
+
* Returns whether the simulation has been disposed.
|
|
319
|
+
*/
|
|
320
|
+
isDisposed(): boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Subscribes to step updates. Returns an unsubscribe function.
|
|
323
|
+
*/
|
|
324
|
+
onUpdate(listener: InertiaUpdateListener): () => void;
|
|
325
|
+
/**
|
|
326
|
+
* Subscribes to settling events. Returns an unsubscribe function.
|
|
327
|
+
*/
|
|
328
|
+
onSettle(listener: InertiaSettleListener): () => void;
|
|
329
|
+
/**
|
|
330
|
+
* Subscribes to completion events. Returns an unsubscribe function.
|
|
331
|
+
*/
|
|
332
|
+
onComplete(listener: InertiaCompleteListener): () => void;
|
|
333
|
+
/**
|
|
334
|
+
* Disposes the simulation and releases all resources and listener subscriptions.
|
|
335
|
+
*/
|
|
336
|
+
dispose(): void;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Options for animated inertia on the shared requestAnimationFrame loop.
|
|
340
|
+
*/
|
|
341
|
+
export interface AdvancedInertiaAnimationOptions extends AdvancedInertiaOptions {
|
|
342
|
+
/**
|
|
343
|
+
* Function invoked on each animation frame with updated inertia state and context.
|
|
344
|
+
*/
|
|
345
|
+
onUpdate: InertiaUpdateListener;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Controls for RAF-driven animated inertia.
|
|
349
|
+
*/
|
|
350
|
+
export interface AdvancedInertiaAnimationControls extends AdvancedInertiaControls {
|
|
351
|
+
/**
|
|
352
|
+
* Cancels the animation, stopping the RAF loop and suppressing further callbacks.
|
|
353
|
+
*/
|
|
354
|
+
cancel(): void;
|
|
355
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Inertia & Gravity Validation & Correction
|
|
3
|
+
*
|
|
4
|
+
* Enforces parameter sanity and numerical stability for momentum and force simulations.
|
|
5
|
+
*/
|
|
6
|
+
import type { AdvancedInertiaConfig } from "./inertia-types.js";
|
|
7
|
+
import type { PhysicsValidationResult } from "./validation.js";
|
|
8
|
+
/**
|
|
9
|
+
* Validates an AdvancedInertiaConfig object.
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateInertiaConfig(config: unknown): PhysicsValidationResult;
|
|
12
|
+
/**
|
|
13
|
+
* Asserts that an inertia configuration is valid, throwing PhysicsValidationError if invalid.
|
|
14
|
+
*/
|
|
15
|
+
export declare function assertValidInertiaConfig(config: unknown): asserts config is AdvancedInertiaConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Safely corrects an invalid inertia configuration.
|
|
18
|
+
*/
|
|
19
|
+
export declare function correctInertiaConfig(config?: Partial<AdvancedInertiaConfig>): {
|
|
20
|
+
corrected: Required<AdvancedInertiaConfig>;
|
|
21
|
+
corrections: string[];
|
|
22
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Foundational Physics Math & Vector Utilities
|
|
3
|
+
*
|
|
4
|
+
* Framework-independent vector and numerical operations for physics simulations.
|
|
5
|
+
* Guarantees numerical stability, finite float validation, and vector safety.
|
|
6
|
+
*/
|
|
7
|
+
import type { PhysicsVector, PhysicsValue } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether a given value is a strictly finite number.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isFiniteNumber(val: unknown): val is number;
|
|
12
|
+
/**
|
|
13
|
+
* Checks whether a given value is a PhysicsVector object with finite components.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isPhysicsVector(val: unknown): val is PhysicsVector;
|
|
16
|
+
/**
|
|
17
|
+
* Checks whether a given value is a valid scalar or vector PhysicsValue.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isPhysicsValue(val: unknown): val is PhysicsValue;
|
|
20
|
+
/**
|
|
21
|
+
* Clamps a scalar number between a minimum and maximum bound.
|
|
22
|
+
*/
|
|
23
|
+
export declare function clamp(val: number, min: number, max: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* Applies a precision threshold, snapping values close to zero to exactly 0.
|
|
26
|
+
*/
|
|
27
|
+
export declare function roundPrecision(val: number, precision: number): number;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a new PhysicsVector instance.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createVector(x: number, y?: number, z?: number): PhysicsVector;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a deep clone of a vector.
|
|
34
|
+
*/
|
|
35
|
+
export declare function cloneVector(v: PhysicsVector): PhysicsVector;
|
|
36
|
+
/**
|
|
37
|
+
* Clones a scalar or vector PhysicsValue.
|
|
38
|
+
*/
|
|
39
|
+
export declare function clonePhysicsValue(val: PhysicsValue): PhysicsValue;
|
|
40
|
+
/**
|
|
41
|
+
* Adds two vectors component-wise.
|
|
42
|
+
*/
|
|
43
|
+
export declare function addVectors(a: PhysicsVector, b: PhysicsVector): PhysicsVector;
|
|
44
|
+
/**
|
|
45
|
+
* Subtracts vector b from vector a component-wise (a - b).
|
|
46
|
+
*/
|
|
47
|
+
export declare function subVectors(a: PhysicsVector, b: PhysicsVector): PhysicsVector;
|
|
48
|
+
/**
|
|
49
|
+
* Scales a vector by a scalar factor.
|
|
50
|
+
*/
|
|
51
|
+
export declare function scaleVector(v: PhysicsVector, factor: number): PhysicsVector;
|
|
52
|
+
/**
|
|
53
|
+
* Computes the Euclidean magnitude (length) of a vector.
|
|
54
|
+
*/
|
|
55
|
+
export declare function magnitude(v: PhysicsVector): number;
|
|
56
|
+
/**
|
|
57
|
+
* Computes the dot product of two vectors.
|
|
58
|
+
*/
|
|
59
|
+
export declare function dot(a: PhysicsVector, b: PhysicsVector): number;
|
|
60
|
+
/**
|
|
61
|
+
* Computes the Euclidean distance between two vectors.
|
|
62
|
+
*/
|
|
63
|
+
export declare function distance(a: PhysicsVector, b: PhysicsVector): number;
|
|
64
|
+
/**
|
|
65
|
+
* Normalizes a vector to unit length. Returns a zero vector if magnitude is 0.
|
|
66
|
+
*/
|
|
67
|
+
export declare function normalize(v: PhysicsVector): PhysicsVector;
|
|
68
|
+
/**
|
|
69
|
+
* Component-wise linear interpolation (lerp) between two vectors.
|
|
70
|
+
*/
|
|
71
|
+
export declare function lerpVectors(a: PhysicsVector, b: PhysicsVector, alpha: number): PhysicsVector;
|
|
72
|
+
/**
|
|
73
|
+
* Adds two PhysicsValues (both scalar, both vector, or scalar-vector compatible).
|
|
74
|
+
*/
|
|
75
|
+
export declare function addValues(a: PhysicsValue, b: PhysicsValue): PhysicsValue;
|
|
76
|
+
/**
|
|
77
|
+
* Subtracts PhysicsValue b from PhysicsValue a (a - b).
|
|
78
|
+
*/
|
|
79
|
+
export declare function subValues(a: PhysicsValue, b: PhysicsValue): PhysicsValue;
|
|
80
|
+
/**
|
|
81
|
+
* Scales a PhysicsValue by a scalar multiplier.
|
|
82
|
+
*/
|
|
83
|
+
export declare function scaleValue(v: PhysicsValue, factor: number): PhysicsValue;
|
|
84
|
+
/**
|
|
85
|
+
* Returns the Euclidean magnitude / absolute value of a PhysicsValue.
|
|
86
|
+
*/
|
|
87
|
+
export declare function valueMagnitude(val: PhysicsValue): number;
|
|
88
|
+
/**
|
|
89
|
+
* Snaps scalar or vector components under a precision threshold to 0.
|
|
90
|
+
*/
|
|
91
|
+
export declare function applyPrecision(val: PhysicsValue, precision: number): PhysicsValue;
|
|
92
|
+
/**
|
|
93
|
+
* Checks whether a PhysicsValue has settled to effectively zero within precision.
|
|
94
|
+
*/
|
|
95
|
+
export declare function isZeroValue(val: PhysicsValue, precision: number): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Performs linear interpolation between two PhysicsValues.
|
|
98
|
+
*/
|
|
99
|
+
export declare function lerpValues(a: PhysicsValue, b: PhysicsValue, alpha: number): PhysicsValue;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Foundational Physics Presets
|
|
3
|
+
*
|
|
4
|
+
* Built-in presets for common simulation frequencies, precision thresholds,
|
|
5
|
+
* and playback speeds.
|
|
6
|
+
*/
|
|
7
|
+
import type { PhysicsConfiguration, PhysicsPreset } from "./types.js";
|
|
8
|
+
export declare const PHYSICS_PRESET_STANDARD: PhysicsPreset;
|
|
9
|
+
export declare const PHYSICS_PRESET_HIGH_PRECISION: PhysicsPreset;
|
|
10
|
+
export declare const PHYSICS_PRESET_LOW_OVERHEAD: PhysicsPreset;
|
|
11
|
+
export declare const PHYSICS_PRESET_BULLET_TIME: PhysicsPreset;
|
|
12
|
+
export declare const PHYSICS_PRESET_FAST_FORWARD: PhysicsPreset;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves a registered physics preset by ID or name.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getPhysicsPreset(idOrName: string): PhysicsPreset | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Returns a list of all available physics presets.
|
|
19
|
+
*/
|
|
20
|
+
export declare function listPhysicsPresets(): readonly PhysicsPreset[];
|
|
21
|
+
/**
|
|
22
|
+
* Registers a new custom physics preset.
|
|
23
|
+
*/
|
|
24
|
+
export declare function registerPhysicsPreset(preset: PhysicsPreset): void;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves a partial configuration or preset identifier into a full PhysicsConfiguration.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolvePhysicsConfig(presetOrConfig?: string | Partial<PhysicsConfiguration>): Required<PhysicsConfiguration>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Foundational Physics Simulation Engine
|
|
3
|
+
*
|
|
4
|
+
* Implements independent, extensible physics simulations with complete lifecycle
|
|
5
|
+
* management, deterministic stepping, state inspection, and event subscriptions.
|
|
6
|
+
*/
|
|
7
|
+
import type { PhysicsControls, PhysicsSimulationOptions } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates an independent, fully isolated physics simulation instance.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createPhysicsSimulation(options?: PhysicsSimulationOptions): PhysicsControls;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Shared RAF Animated Spring Integration
|
|
3
|
+
*
|
|
4
|
+
* Integrates Advanced Spring Physics with the library's shared animation frame
|
|
5
|
+
* scheduler (subscribeAnimationFrames), honoring reduced-motion accessibility.
|
|
6
|
+
*/
|
|
7
|
+
import type { AdvancedSpringAnimationOptions, AdvancedSpringAnimationControls } from "./spring-types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Animates an advanced spring using the library's shared RAF frame scheduler.
|
|
10
|
+
*/
|
|
11
|
+
export declare function animateAdvancedSpring(options: AdvancedSpringAnimationOptions): AdvancedSpringAnimationControls;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Spring Mathematics & Dynamic Calculations
|
|
3
|
+
*
|
|
4
|
+
* Implements the second-order mass-spring-damper equations of motion:
|
|
5
|
+
* F = -k(x - target) - c*v
|
|
6
|
+
* a = F / m
|
|
7
|
+
* Supports scalars, 2D vectors, and 3D vectors polymorphically.
|
|
8
|
+
*/
|
|
9
|
+
import type { PhysicsValue } from "./types.js";
|
|
10
|
+
import type { SpringDampingBehavior } from "./spring-types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Computes the undamped natural frequency (omega0 = sqrt(k / m)) in radians per second.
|
|
13
|
+
*/
|
|
14
|
+
export declare function calculateNaturalFrequency(stiffness: number, mass: number): number;
|
|
15
|
+
/**
|
|
16
|
+
* Computes the dimensionless damping ratio (zeta = c / (2 * sqrt(k * m))).
|
|
17
|
+
*/
|
|
18
|
+
export declare function calculateDampingRatio(stiffness: number, damping: number, mass: number): number;
|
|
19
|
+
/**
|
|
20
|
+
* Classifies the damping behavior into underdamped, critically damped, or overdamped.
|
|
21
|
+
*/
|
|
22
|
+
export declare function classifyDampingBehavior(dampingRatio: number): SpringDampingBehavior;
|
|
23
|
+
/**
|
|
24
|
+
* Calculates instantaneous acceleration from the mass-spring-damper equation:
|
|
25
|
+
* a = (k * (target - position) - c * velocity) / mass
|
|
26
|
+
*/
|
|
27
|
+
export declare function calculateSpringAcceleration(position: PhysicsValue, velocity: PhysicsValue, target: PhysicsValue, stiffness: number, damping: number, mass: number): PhysicsValue;
|
|
28
|
+
/**
|
|
29
|
+
* Evaluates whether a spring has settled at equilibrium within rest thresholds.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isSpringSettled(position: PhysicsValue, velocity: PhysicsValue, target: PhysicsValue, restDelta: number, restSpeed: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Performs a single semi-implicit Euler integration step for a spring.
|
|
34
|
+
*/
|
|
35
|
+
export declare function integrateSpringEuler(currentPos: PhysicsValue, currentVel: PhysicsValue, target: PhysicsValue, stiffness: number, damping: number, mass: number, dt: number): {
|
|
36
|
+
position: PhysicsValue;
|
|
37
|
+
velocity: PhysicsValue;
|
|
38
|
+
acceleration: PhysicsValue;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* High-precision RK4 step for spring integration.
|
|
42
|
+
*/
|
|
43
|
+
export declare function integrateSpringRK4(pos: PhysicsValue, vel: PhysicsValue, target: PhysicsValue, k: number, c: number, m: number, dt: number): {
|
|
44
|
+
position: PhysicsValue;
|
|
45
|
+
velocity: PhysicsValue;
|
|
46
|
+
acceleration: PhysicsValue;
|
|
47
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Standard Spring Presets & Registry Integration
|
|
3
|
+
*
|
|
4
|
+
* Defines and registers calibrated spring physics presets:
|
|
5
|
+
* Gentle, Smooth, Snappy, Bouncy, Stiff, Heavy, Soft, Elastic, Critical.
|
|
6
|
+
*/
|
|
7
|
+
import type { SpringPreset, SpringPresetName, AdvancedSpringConfig } from "./spring-types.js";
|
|
8
|
+
export declare const SPRING_PRESETS: Record<SpringPresetName, SpringPreset>;
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves a registered spring preset by name or identifier.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getSpringPreset(idOrName: string): SpringPreset | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Returns a list of all 9 registered spring presets.
|
|
15
|
+
*/
|
|
16
|
+
export declare function listSpringPresets(): readonly SpringPreset[];
|
|
17
|
+
/**
|
|
18
|
+
* Computes the critical damping coefficient for any given stiffness and mass:
|
|
19
|
+
* c_crit = 2 * sqrt(k * m)
|
|
20
|
+
*/
|
|
21
|
+
export declare function calculateCriticalDamping(stiffness: number, mass: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Default fallback spring parameters.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_SPRING_CONFIG: Required<AdvancedSpringConfig>;
|
|
26
|
+
/**
|
|
27
|
+
* Resolves a partial configuration or preset identifier into a complete AdvancedSpringConfig.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveSpringConfig(presetOrConfig?: SpringPresetName | string | Partial<AdvancedSpringConfig>): Required<AdvancedSpringConfig>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AF Motion — Advanced Spring Physics Simulation Engine
|
|
3
|
+
*
|
|
4
|
+
* Implements independent, headless mass-spring-damper simulations with
|
|
5
|
+
* dynamic retargeting, velocity injection, damping regimes, and settling detection.
|
|
6
|
+
*/
|
|
7
|
+
import type { AdvancedSpringOptions, AdvancedSpringControls } from "./spring-types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates an independent, headless spring simulation instance.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createSpringSimulation(options?: AdvancedSpringOptions): AdvancedSpringControls;
|