@aura3d/engine 2.0.0 → 2.0.2
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/README.md +61 -44
- package/dist/animation/threejs-compatibility/AnimationAction.d.ts +1 -1
- package/dist/animation/threejs-compatibility/AnimationDiagnostics.d.ts +3 -3
- package/dist/animation/threejs-compatibility/AnimationMixer.d.ts +2 -2
- package/dist/animation/threejs-compatibility/SkinnedMesh.d.ts +1 -1
- package/dist/animation/threejs-compatibility/index.d.ts +11 -11
- package/dist/apps/index.d.ts +3 -3
- package/dist/assets/AssetCache.d.ts +1 -1
- package/dist/assets/AssetCompatibility.d.ts +2 -2
- package/dist/assets/AssetInspection.d.ts +4 -4
- package/dist/assets/AssetLoader.d.ts +1 -1
- package/dist/assets/AssetManager.d.ts +5 -5
- package/dist/assets/AssetRegistry.d.ts +1 -1
- package/dist/assets/AssetRenderDefaults.d.ts +1 -1
- package/dist/assets/AudioLoader.d.ts +2 -2
- package/dist/assets/CarConceptMaterialStability.d.ts +4 -2
- package/dist/assets/CarConceptMaterialStability.d.ts.map +1 -1
- package/dist/assets/CarConceptMaterialStability.js +102 -0
- package/dist/assets/CarConceptMaterialStability.js.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.d.ts +3 -3
- package/dist/assets/GLTFAutoFit.d.ts +1 -1
- package/dist/assets/GLTFCompressionDecoders.d.ts +1 -1
- package/dist/assets/GLTFLoader.d.ts +5 -5
- package/dist/assets/GLTFLoader.d.ts.map +1 -1
- package/dist/assets/GLTFLoader.js +22 -1
- package/dist/assets/GLTFLoader.js.map +1 -1
- package/dist/assets/GLTFRenderResources.d.ts +3 -3
- package/dist/assets/HDRLoader.d.ts +1 -1
- package/dist/assets/ImageLoader.d.ts +2 -2
- package/dist/assets/KTX2BasisTextureTranscoder.d.ts +1 -1
- package/dist/assets/LoadContext.d.ts +2 -2
- package/dist/assets/MaterialLoader.d.ts +3 -3
- package/dist/assets/MeshOptimization.d.ts +1 -1
- package/dist/assets/OBJLoader.d.ts +3 -3
- package/dist/assets/SceneLoader.d.ts +4 -4
- package/dist/assets/ShaderLoader.d.ts +2 -2
- package/dist/assets/TextureLoader.d.ts +3 -3
- package/dist/assets/TexturePipeline.d.ts +1 -1
- package/dist/assets/WorkerAssetJobs.d.ts +1 -1
- package/dist/assets/advanced-gallery/index.d.ts +2 -2
- package/dist/assets/asset-corpus/GLTFSceneLoader.d.ts +2 -2
- package/dist/assets/asset-corpus/ProductionAssetPipeline.d.ts +2 -2
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +3 -3
- package/dist/assets/asset-corpus/index.d.ts +9 -9
- package/dist/assets/browser-index.d.ts +45 -45
- package/dist/assets/createRenderableScene.d.ts +4 -4
- package/dist/assets/index.d.ts +76 -76
- package/dist/assets/loadRenderableAsset.d.ts +3 -3
- package/dist/assets/loaders/CubeTextureLoader.d.ts +1 -1
- package/dist/assets/loaders/HDRLoader.d.ts +1 -1
- package/dist/assets/loaders/KTX2Loader.d.ts +1 -1
- package/dist/assets/loaders/MTLLoader.d.ts +1 -1
- package/dist/assets/loaders/OBJLoader.d.ts +1 -1
- package/dist/assets/loaders/TextureLoader.d.ts +1 -1
- package/dist/assets/loaders/ThreeCompatGLTFLoader.d.ts +1 -1
- package/dist/assets/loaders/index.d.ts +13 -13
- package/dist/assets/threejs-compatibility/ThreeCompatAssetRegistry.d.ts +1 -1
- package/dist/assets/threejs-example-parity/index.d.ts +1 -1
- package/dist/audio/AudioBus.d.ts +1 -1
- package/dist/audio/AudioFileManager.d.ts +2 -2
- package/dist/audio/AudioMixer.d.ts +2 -2
- package/dist/audio/AudioSource.d.ts +2 -2
- package/dist/audio/AudioSystem.d.ts +2 -2
- package/dist/audio/AudioTimelineTrack.d.ts +2 -2
- package/dist/audio/AudioWaveform.d.ts +1 -1
- package/dist/audio/SceneAudioBridge.d.ts +3 -3
- package/dist/audio/SpatialAudio.d.ts +2 -2
- package/dist/audio/effects/Filter.d.ts +2 -2
- package/dist/audio/effects/Reverb.d.ts +2 -2
- package/dist/audio/index.d.ts +25 -25
- package/dist/aura3d-cli/animation-asset-profiles.d.ts +1 -1
- package/dist/aura3d-cli/game-asset-profiles.d.ts +1 -1
- package/dist/aura3d-cli/game-asset-validator.d.ts +2 -2
- package/dist/aura3d-cli/pull-bridge/adapters.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/profiles.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/provenance.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/pullable.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/scoring.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/search.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge/types.d.ts +1 -1
- package/dist/aura3d-cli/pull-bridge.d.ts +1 -1
- package/dist/controls/ControlState.d.ts +1 -1
- package/dist/controls/DragControls.d.ts +2 -2
- package/dist/controls/FirstPersonControls.d.ts +2 -2
- package/dist/controls/FlyControls.d.ts +3 -3
- package/dist/controls/InteractionControls.d.ts +5 -5
- package/dist/controls/MapControls.d.ts +3 -3
- package/dist/controls/OrbitControls.d.ts +3 -3
- package/dist/controls/Picking.d.ts +1 -1
- package/dist/controls/PickingAnnotations.d.ts +2 -2
- package/dist/controls/PointerLockControls.d.ts +3 -3
- package/dist/controls/SelectionManager.d.ts +1 -1
- package/dist/controls/TrackballControls.d.ts +1 -1
- package/dist/controls/TransformControls.d.ts +1 -1
- package/dist/controls/index.d.ts +25 -25
- package/dist/debug/AnimationInspector.d.ts +1 -1
- package/dist/debug/DrawCallTracker.d.ts +1 -1
- package/dist/debug/MaterialDiagnostics.d.ts +1 -1
- package/dist/debug/PhysicsDebugAdapter.d.ts +1 -1
- package/dist/debug/ShaderDiagnostics.d.ts +1 -1
- package/dist/ecs/components/TransformComponent.d.ts +1 -1
- package/dist/editor/index.d.ts +1 -1
- package/dist/editor-runtime/AnimationSceneEditor.d.ts +5 -5
- package/dist/editor-runtime/AssetDropZone.d.ts +2 -2
- package/dist/editor-runtime/CameraPathEditor.d.ts +3 -3
- package/dist/editor-runtime/CommandHistory.d.ts +1 -1
- package/dist/editor-runtime/CurveEditor.d.ts +3 -3
- package/dist/editor-runtime/EditorRuntime.d.ts +14 -14
- package/dist/editor-runtime/EditorStateModel.d.ts +1 -1
- package/dist/editor-runtime/EventTrackEditor.d.ts +1 -1
- package/dist/editor-runtime/Gizmo.d.ts +3 -3
- package/dist/editor-runtime/HierarchyModel.d.ts +1 -1
- package/dist/editor-runtime/InspectorModel.d.ts +1 -1
- package/dist/editor-runtime/InteractiveTransformGizmo.d.ts +2 -2
- package/dist/editor-runtime/KeyframeEditor.d.ts +2 -2
- package/dist/editor-runtime/NonlinearAnimationEditor.d.ts +3 -3
- package/dist/editor-runtime/PickingService.d.ts +2 -2
- package/dist/editor-runtime/ProjectSerializer.d.ts +2 -2
- package/dist/editor-runtime/PropertyPanel.d.ts +2 -2
- package/dist/editor-runtime/RotateGizmo.d.ts +1 -1
- package/dist/editor-runtime/ScaleGizmo.d.ts +1 -1
- package/dist/editor-runtime/SceneOutliner.d.ts +3 -3
- package/dist/editor-runtime/TimelineEditorController.d.ts +4 -4
- package/dist/editor-runtime/TimelineRuntimeBridge.d.ts +2 -2
- package/dist/editor-runtime/TimelineTrackTypes.d.ts +1 -1
- package/dist/editor-runtime/TimelineUI.d.ts +1 -1
- package/dist/editor-runtime/TranslateGizmo.d.ts +1 -1
- package/dist/editor-runtime/VisualReviewDashboard.d.ts +1 -1
- package/dist/editor-runtime/commands/CreateNodeCommand.d.ts +1 -1
- package/dist/editor-runtime/commands/DeleteNodeCommand.d.ts +2 -2
- package/dist/editor-runtime/commands/ReparentNodeCommand.d.ts +1 -1
- package/dist/editor-runtime/commands/SetPropertyCommand.d.ts +1 -1
- package/dist/editor-runtime/commands/TransformCommand.d.ts +1 -1
- package/dist/editor-runtime/index.d.ts +79 -79
- package/dist/engine/A3DApp.d.ts +2 -2
- package/dist/engine/A3DQualityPresets.d.ts +2 -2
- package/dist/engine/advanced-runtime/A3DRenderer.d.ts +2 -2
- package/dist/engine/advanced-runtime/A3DScene.d.ts +2 -2
- package/dist/engine/advanced-runtime/index.d.ts +4 -4
- package/dist/engine/agent-api/AnimationController.d.ts +3 -3
- package/dist/engine/agent-api/AuraAppHandle.d.ts +2 -2
- package/dist/engine/agent-api/GameAppRuntime.d.ts +4 -4
- package/dist/engine/agent-api/GameEvidence.d.ts +1 -1
- package/dist/engine/agent-api/GameGenreKits.d.ts +18 -1
- package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.js +77 -5
- package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
- package/dist/engine/agent-api/GameRuntime.d.ts +12 -1
- package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
- package/dist/engine/agent-api/GameRuntime.js +19 -1
- package/dist/engine/agent-api/GameRuntime.js.map +1 -1
- package/dist/engine/agent-api/GameSceneBridge.d.ts +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +4 -3
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js +2 -2
- package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryMath.d.ts +1 -1
- package/dist/engine/agent-api/PhysicsRuntime.d.ts +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +1 -1
- package/dist/engine/agent-api/VehicleDriverAi.d.ts +2 -0
- package/dist/engine/agent-api/VehicleDriverAi.d.ts.map +1 -1
- package/dist/engine/agent-api/VehicleDriverAi.js +2 -1
- package/dist/engine/agent-api/VehicleDriverAi.js.map +1 -1
- package/dist/engine/agent-api/game-kits/fighting.d.ts +2 -2
- package/dist/engine/agent-api/game-kits/index.d.ts +10 -10
- package/dist/engine/agent-api/index.d.ts +84 -74
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +63 -7
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/lean-game.d.ts +1 -1
- package/dist/engine/agent-api/lean-product.d.ts +1 -1
- package/dist/engine/agent-api/lean.d.ts +1 -1
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
- package/dist/engine/animation-studio/animation-episode-validator.d.ts +1 -1
- package/dist/engine/animation-studio/director-heuristics.d.ts +1 -1
- package/dist/engine/animation-studio/episode-document.d.ts +1 -1
- package/dist/engine/animation-studio/index.d.ts +4 -4
- package/dist/engine/animation-studio/scene-tools.d.ts +2 -2
- package/dist/engine/ecs/ECSRenderSource.d.ts +2 -2
- package/dist/engine/game/GameAudio.d.ts +1 -1
- package/dist/engine/index.d.ts +14 -14
- package/dist/engine/production-runtime/GameRenderPreset.d.ts +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +3 -3
- package/dist/engine/production-runtime/index.d.ts +8 -8
- package/dist/engine/threejs-example-parity/index.d.ts +1 -1
- package/dist/environments/EnvironmentPreview.d.ts +1 -1
- package/dist/environments/EnvironmentRegistry.d.ts +3 -3
- package/dist/environments/HDRIEnvironment.d.ts +1 -1
- package/dist/environments/production-runtime/index.d.ts +2 -2
- package/dist/input/ActionMap.d.ts +1 -1
- package/dist/input/GamepadDevice.d.ts +1 -1
- package/dist/input/GamepadInput.d.ts +2 -2
- package/dist/input/GestureControls.d.ts +2 -2
- package/dist/input/GestureRecognizer.d.ts +1 -1
- package/dist/input/InputSystem.d.ts +5 -5
- package/dist/input/InteractionSystem.d.ts +3 -3
- package/dist/input/PickingRay.d.ts +2 -2
- package/dist/input/PointerDevice.d.ts +1 -1
- package/dist/input/controls/CameraRig.d.ts +1 -1
- package/dist/input/controls/EditorFlyControls.d.ts +2 -2
- package/dist/input/controls/FirstPersonControls.d.ts +2 -2
- package/dist/input/controls/OrbitControls.d.ts +2 -2
- package/dist/input/controls/PointerLockControls.d.ts +3 -3
- package/dist/input/controls/SceneCameraAdapter.d.ts +2 -2
- package/dist/input/controls/ThirdPersonFollowControls.d.ts +1 -1
- package/dist/input/index.d.ts +39 -39
- package/dist/lean/base.d.ts +1 -1
- package/dist/materials/MaterialPresets.d.ts +2 -2
- package/dist/materials/MaterialPreviewScene.d.ts +1 -1
- package/dist/materials/PBRMaterialLibrary.d.ts +1 -1
- package/dist/materials/browser-index.d.ts +6 -6
- package/dist/product-studio/ProductAsset.d.ts +1 -1
- package/dist/product-studio/ProductAssetLoader.d.ts +1 -1
- package/dist/product-studio/ProductCamera.d.ts +1 -1
- package/dist/product-studio/ProductDiagnostics.d.ts +2 -2
- package/dist/product-studio/ProductExport.d.ts +1 -1
- package/dist/product-studio/ProductFloor.d.ts +2 -2
- package/dist/product-studio/ProductLighting.d.ts +1 -1
- package/dist/product-studio/ProductMaterials.d.ts +2 -2
- package/dist/product-studio/ProductRenderScene.d.ts +1 -1
- package/dist/product-studio/ProductStudio.d.ts +1 -1
- package/dist/product-studio/ProductTypes.d.ts +2 -2
- package/dist/product-studio/index.d.ts +12 -12
- package/dist/react/index.d.ts +1 -1
- package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +3 -3
- package/dist/rendering/CameraFraming.d.ts +1 -1
- package/dist/rendering/CanonicalProductScene.d.ts +1 -1
- package/dist/rendering/CascadedShadowMaps.d.ts +8 -8
- package/dist/rendering/ClusteredForwardLighting.d.ts +2 -2
- package/dist/rendering/DecalGeometry.d.ts +2 -2
- package/dist/rendering/DepthPass.d.ts +4 -4
- package/dist/rendering/EnvironmentBackgroundPass.d.ts +4 -4
- package/dist/rendering/EnvironmentBackgroundResources.d.ts +2 -2
- package/dist/rendering/EnvironmentLighting.d.ts +1 -1
- package/dist/rendering/EnvironmentMapResources.d.ts +2 -2
- package/dist/rendering/EnvironmentPipeline.d.ts +2 -2
- package/dist/rendering/EnvironmentPlatform.d.ts +3 -3
- package/dist/rendering/EnvironmentPreset.d.ts +1 -1
- package/dist/rendering/Exposure.d.ts +1 -1
- package/dist/rendering/ExternalParityRenderPreset.d.ts +3 -3
- package/dist/rendering/ForwardPass.d.ts +9 -9
- package/dist/rendering/Geometry.d.ts +3 -3
- package/dist/rendering/GeometryPrimitives.d.ts +2 -2
- package/dist/rendering/HDRRenderPipeline.d.ts +4 -4
- package/dist/rendering/IBL.d.ts +4 -4
- package/dist/rendering/IndexBuffer.d.ts +1 -1
- package/dist/rendering/InstancedPBRMaterial.d.ts +2 -2
- package/dist/rendering/InstancedUnlitMaterial.d.ts +1 -1
- package/dist/rendering/Instancing.d.ts +1 -1
- package/dist/rendering/LightCollector.d.ts +1 -1
- package/dist/rendering/LightUniforms.d.ts +2 -2
- package/dist/rendering/LightingDebug.d.ts +2 -2
- package/dist/rendering/LightingDefaults.d.ts +2 -2
- package/dist/rendering/LightingRig.d.ts +1 -1
- package/dist/rendering/LineGeometry.d.ts +2 -2
- package/dist/rendering/Material.d.ts +1 -1
- package/dist/rendering/MaterialBinding.d.ts +3 -3
- package/dist/rendering/MaterialInstance.d.ts +2 -2
- package/dist/rendering/MaterialPresets.d.ts +2 -2
- package/dist/rendering/MeshConsolidation.d.ts +3 -3
- package/dist/rendering/MorphTarget.d.ts +1 -1
- package/dist/rendering/MorphTargetPlan.d.ts +1 -1
- package/dist/rendering/MorphUnlitMaterial.d.ts +1 -1
- package/dist/rendering/NormalMappedPBRMaterial.d.ts +4 -4
- package/dist/rendering/PBRLightingDefaults.d.ts +1 -1
- package/dist/rendering/PBRMaterial.d.ts +2 -2
- package/dist/rendering/PMREM.d.ts +2 -2
- package/dist/rendering/PortableShaderMaterial.d.ts +3 -3
- package/dist/rendering/PostProcessPass.d.ts +2 -2
- package/dist/rendering/ProceduralTexture.d.ts +1 -1
- package/dist/rendering/ProductTurntable.d.ts +3 -3
- package/dist/rendering/Raycaster.d.ts +1 -1
- package/dist/rendering/ReflectionProbe.d.ts +4 -4
- package/dist/rendering/ReflectionSurfaces.d.ts +2 -2
- package/dist/rendering/RenderBackend.d.ts +3 -3
- package/dist/rendering/RenderDevice.d.ts +6 -6
- package/dist/rendering/RenderGraph.d.ts +1 -1
- package/dist/rendering/RenderPass.d.ts +1 -1
- package/dist/rendering/RenderPipeline.d.ts +3 -3
- package/dist/rendering/RenderQueue.d.ts +2 -2
- package/dist/rendering/RenderState.d.ts +2 -2
- package/dist/rendering/Renderer.d.ts +16 -16
- package/dist/rendering/RendererFeatureGates.d.ts +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts +1 -1
- package/dist/rendering/RendererVisualPipelineReport.d.ts +4 -4
- package/dist/rendering/ResourceLifecycle.d.ts +1 -1
- package/dist/rendering/SceneOptimization.d.ts +3 -3
- package/dist/rendering/ScreenSpaceLineMaterial.d.ts +1 -1
- package/dist/rendering/ShaderChunks.d.ts.map +1 -1
- package/dist/rendering/ShaderChunks.js +11 -5
- package/dist/rendering/ShaderChunks.js.map +1 -1
- package/dist/rendering/ShaderLibrary.d.ts +2 -2
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +17 -58
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/ShaderLibraryCore.d.ts +3 -3
- package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/rendering/ShaderLibraryCore.js +3 -11
- package/dist/rendering/ShaderLibraryCore.js.map +1 -1
- package/dist/rendering/ShaderModule.d.ts +3 -3
- package/dist/rendering/ShaderReflection.d.ts +1 -1
- package/dist/rendering/ShadowMap.d.ts +1 -1
- package/dist/rendering/ShadowPass.d.ts +6 -6
- package/dist/rendering/ShadowProjection.d.ts +1 -1
- package/dist/rendering/SkinnedLitMaterial.d.ts +3 -3
- package/dist/rendering/SkinnedUnlitMaterial.d.ts +1 -1
- package/dist/rendering/SkinningBounds.d.ts +2 -2
- package/dist/rendering/SpecularPrefilter.d.ts +1 -1
- package/dist/rendering/SpriteGeometry.d.ts +1 -1
- package/dist/rendering/StereoCameraRig.d.ts +2 -2
- package/dist/rendering/StereoEffects.d.ts +1 -1
- package/dist/rendering/TerrainHeightfield.d.ts +1 -1
- package/dist/rendering/TextureBinding.d.ts +2 -2
- package/dist/rendering/TexturedPBRMaterial.d.ts +4 -4
- package/dist/rendering/TexturedUnlitMaterial.d.ts +3 -3
- package/dist/rendering/ToneMapping.d.ts +1 -1
- package/dist/rendering/UniformBinder.d.ts +1 -1
- package/dist/rendering/UnlitMaterial.d.ts +1 -1
- package/dist/rendering/VegetationScatter.d.ts +1 -1
- package/dist/rendering/VertexBuffer.d.ts +2 -2
- package/dist/rendering/WebGL2Device.d.ts +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +2 -2
- package/dist/rendering/WebGPURenderToTextureProof.d.ts +1 -1
- package/dist/rendering/advanced-runtime/AdvancedRenderer.d.ts +4 -4
- package/dist/rendering/advanced-runtime/index.d.ts +9 -9
- package/dist/rendering/cinematic/BloomPass.d.ts +1 -1
- package/dist/rendering/cinematic/CinematicDepthComposition.d.ts +1 -1
- package/dist/rendering/cinematic/CinematicLightingRig.d.ts +2 -2
- package/dist/rendering/cinematic/CinematicMaterialPresets.d.ts +2 -2
- package/dist/rendering/cinematic/CinematicPostProcess.d.ts +6 -6
- package/dist/rendering/cinematic/DepthHazePass.d.ts +1 -1
- package/dist/rendering/cinematic/EmissivePracticalLightSystem.d.ts +2 -2
- package/dist/rendering/cinematic/FilmGrainPass.d.ts +1 -1
- package/dist/rendering/cinematic/FogVolumeSystem.d.ts +1 -1
- package/dist/rendering/cinematic/GlowCardSystem.d.ts +2 -2
- package/dist/rendering/cinematic/RainParticleSystem.d.ts +2 -2
- package/dist/rendering/cinematic/VignettePass.d.ts +1 -1
- package/dist/rendering/cinematic/WetReflectionApproximation.d.ts +1 -1
- package/dist/rendering/cinematic/index.d.ts +14 -14
- package/dist/rendering/index.d.ts +230 -230
- package/dist/rendering/materials/PhysicalMaterial.d.ts +1 -1
- package/dist/rendering/performance/BVH.d.ts +2 -2
- package/dist/rendering/performance/Batcher.d.ts +2 -2
- package/dist/rendering/performance/FrustumCuller.d.ts +1 -1
- package/dist/rendering/performance/Octree.d.ts +1 -1
- package/dist/rendering/postprocess/BloomPass.d.ts +1 -1
- package/dist/rendering/postprocess/CinematicDiagnostics.d.ts +1 -1
- package/dist/rendering/postprocess/ColorGradingPass.d.ts +1 -1
- package/dist/rendering/postprocess/DepthOfFieldPass.d.ts +1 -1
- package/dist/rendering/postprocess/EffectComposer.d.ts +3 -3
- package/dist/rendering/postprocess/SSAOPass.d.ts +1 -1
- package/dist/rendering/postprocess/index.d.ts +10 -10
- package/dist/rendering/production-runtime/AnimationControlsPipeline.d.ts +1 -1
- package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +4 -4
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts +2 -2
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +2 -2
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +3 -3
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +4 -4
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +4 -4
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts +3 -3
- package/dist/rendering/production-runtime/backends/RendererBackend.d.ts +1 -1
- package/dist/rendering/production-runtime/backends/WebGL2RendererBackend.d.ts +3 -3
- package/dist/rendering/production-runtime/backends/WebGPURendererBackend.d.ts +1 -1
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2StateCache.d.ts +1 -1
- package/dist/rendering/production-runtime/diagnostics/FrameCapture.d.ts +1 -1
- package/dist/rendering/production-runtime/environment/HDRLoader.d.ts +2 -2
- package/dist/rendering/production-runtime/environment/PMREMGenerator.d.ts +1 -1
- package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts +1 -1
- package/dist/rendering/production-runtime/geometry/ProjectedDecalGeometry.d.ts +1 -1
- package/dist/rendering/production-runtime/index.d.ts +74 -74
- package/dist/rendering/production-runtime/lights/LightManager.d.ts +1 -1
- package/dist/rendering/production-runtime/lights/ShadowMapRenderer.d.ts +1 -1
- package/dist/rendering/production-runtime/materials/GLTFMaterialAdapter.d.ts +1 -1
- package/dist/rendering/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts +2 -2
- package/dist/rendering/production-runtime/materials/MaterialCompiler.d.ts +2 -2
- package/dist/rendering/production-runtime/materials/MaterialTextureBindings.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/ContactShadowPass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +1 -1
- package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +1 -1
- package/dist/rendering/production-runtime/postprocess/BloomPass.d.ts +2 -2
- package/dist/rendering/production-runtime/postprocess/ColorGradingPass.d.ts +2 -2
- package/dist/rendering/production-runtime/postprocess/DOFPass.d.ts +2 -2
- package/dist/rendering/production-runtime/postprocess/FXAAPass.d.ts +2 -2
- package/dist/rendering/production-runtime/postprocess/ProductionEffectComposer.d.ts +1 -1
- package/dist/rendering/production-runtime/postprocess/ProductionPostProcessTypes.d.ts +1 -1
- package/dist/rendering/production-runtime/postprocess/SSAOPass.d.ts +2 -2
- package/dist/rendering/production-runtime/resources/RenderTarget.d.ts +1 -1
- package/dist/rendering/production-runtime/scene/RenderableMesh.d.ts +1 -1
- package/dist/rendering/production-runtime/scene/RenderableScene.d.ts +3 -3
- package/dist/rendering/shadows/CascadedShadowPipeline.d.ts +1 -1
- package/dist/rendering/shadows/ShadowDebugViews.d.ts +2 -2
- package/dist/rendering/threejs-example-parity/index.d.ts +4 -4
- package/dist/rendering/webgpu/WebGPUBuffer.d.ts +1 -1
- package/dist/rendering/webgpu/WebGPUCompute.d.ts +2 -2
- package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +2 -2
- package/dist/rendering/webgpu/WebGPUTexture.d.ts +2 -2
- package/dist/rendering/webgpu.d.ts +3 -3
- package/dist/scene/Bounds.d.ts +1 -1
- package/dist/scene/Camera.d.ts +1 -1
- package/dist/scene/Light.d.ts +1 -1
- package/dist/scene/MathTypes.d.ts +1 -1
- package/dist/scripting/AnimationVisualNodes.d.ts +1 -1
- package/dist/scripting/Behavior.d.ts +1 -1
- package/dist/scripting/BehaviorHost.d.ts +1 -1
- package/dist/scripting/BehaviorRegistry.d.ts +1 -1
- package/dist/scripting/BehaviorSystem.d.ts +2 -2
- package/dist/scripting/HTN.d.ts +1 -1
- package/dist/scripting/ScriptContext.d.ts +1 -1
- package/dist/scripting/StateMachine.d.ts +1 -1
- package/dist/scripting/UtilityAI.d.ts +1 -1
- package/dist/scripting/VisualGraph.d.ts +2 -2
- package/dist/scripting/VisualGraphExecutor.d.ts +2 -2
- package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
- package/dist/scripting/index.d.ts +37 -37
- package/dist/workflows/AnimationLabWorkflow.d.ts +1 -1
- package/dist/workflows/AssetViewerWorkflow.d.ts +1 -1
- package/dist/workflows/ComparisonWorkflow.d.ts +1 -1
- package/dist/workflows/InteractiveSceneWorkflow.d.ts +1 -1
- package/dist/workflows/MaterialStudioWorkflow.d.ts +1 -1
- package/dist/workflows/ProductConfiguratorWorkflow.d.ts +1 -1
- package/dist/workflows/SceneShowcaseWorkflow.d.ts +1 -1
- package/dist/workflows/WorkflowDiagnostics.d.ts +4 -4
- package/dist/workflows/WorkflowTypes.d.ts +4 -4
- package/dist/workflows/index.d.ts +12 -12
- package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +2 -2
- package/dist/workflows/production-runtime/index.d.ts +10 -10
- package/dist/workflows/workflow-foundation/index.d.ts +16 -16
- package/package.json +23 -23
- package/templates/cinematic-scene/package.json +1 -1
- package/templates/mini-game/package.json +1 -1
- package/templates/product-viewer/package.json +1 -1
- package/dist/animation/MotionMatchingFixtures.d.ts +0 -58
- package/dist/animation/MotionMatchingFixtures.d.ts.map +0 -1
- package/dist/animation/MotionMatchingFixtures.js +0 -175
- package/dist/animation/MotionMatchingFixtures.js.map +0 -1
- package/dist/animation/Retargeting.d.ts +0 -12
- package/dist/animation/Retargeting.d.ts.map +0 -1
- package/dist/animation/Retargeting.js +0 -19
- package/dist/animation/Retargeting.js.map +0 -1
- package/dist/animation/SecondaryAnimationFixtures.d.ts +0 -55
- package/dist/animation/SecondaryAnimationFixtures.d.ts.map +0 -1
- package/dist/animation/SecondaryAnimationFixtures.js +0 -145
- package/dist/animation/SecondaryAnimationFixtures.js.map +0 -1
- package/dist/animation/SecondaryAnimationSampling.d.ts +0 -55
- package/dist/animation/SecondaryAnimationSampling.d.ts.map +0 -1
- package/dist/animation/SecondaryAnimationSampling.js +0 -145
- package/dist/animation/SecondaryAnimationSampling.js.map +0 -1
- package/dist/assets/AssetBundleCacheFixtures.d.ts +0 -62
- package/dist/assets/AssetBundleCacheFixtures.d.ts.map +0 -1
- package/dist/assets/AssetBundleCacheFixtures.js +0 -222
- package/dist/assets/AssetBundleCacheFixtures.js.map +0 -1
- package/dist/assets/EXRLoader.d.ts +0 -2
- package/dist/assets/EXRLoader.d.ts.map +0 -1
- package/dist/assets/EXRLoader.js +0 -2
- package/dist/assets/EXRLoader.js.map +0 -1
- package/dist/assets/SceneAnalysisFixtures.d.ts +0 -100
- package/dist/assets/SceneAnalysisFixtures.d.ts.map +0 -1
- package/dist/assets/SceneAnalysisFixtures.js +0 -331
- package/dist/assets/SceneAnalysisFixtures.js.map +0 -1
- package/dist/assets/loaders/EXRLoader.d.ts +0 -4
- package/dist/assets/loaders/EXRLoader.d.ts.map +0 -1
- package/dist/assets/loaders/EXRLoader.js +0 -10
- package/dist/assets/loaders/EXRLoader.js.map +0 -1
- package/dist/audio/AdaptiveMusicFixtures.d.ts +0 -36
- package/dist/audio/AdaptiveMusicFixtures.d.ts.map +0 -1
- package/dist/audio/AdaptiveMusicFixtures.js +0 -90
- package/dist/audio/AdaptiveMusicFixtures.js.map +0 -1
- package/dist/audio/AudioEffectsAnalysisFixtures.d.ts +0 -99
- package/dist/audio/AudioEffectsAnalysisFixtures.d.ts.map +0 -1
- package/dist/audio/AudioEffectsAnalysisFixtures.js +0 -192
- package/dist/audio/AudioEffectsAnalysisFixtures.js.map +0 -1
- package/dist/audio/SpatialAudioFixtures.d.ts +0 -38
- package/dist/audio/SpatialAudioFixtures.d.ts.map +0 -1
- package/dist/audio/SpatialAudioFixtures.js +0 -94
- package/dist/audio/SpatialAudioFixtures.js.map +0 -1
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +0 -15
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +0 -1
- package/dist/aura3d-cli/cartoon-asset-profiles.js +0 -46
- package/dist/aura3d-cli/cartoon-asset-profiles.js.map +0 -1
- package/dist/editor-runtime/CartoonSceneEditor.d.ts +0 -111
- package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +0 -1
- package/dist/editor-runtime/CartoonSceneEditor.js +0 -285
- package/dist/editor-runtime/CartoonSceneEditor.js.map +0 -1
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.d.ts +0 -70
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.d.ts.map +0 -1
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.js +0 -275
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.js.map +0 -1
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts +0 -50
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonAssetManifest.js +0 -65
- package/dist/engine/agent-api/CartoonAssetManifest.js.map +0 -1
- package/dist/engine/agent-api/CartoonDirector.d.ts +0 -120
- package/dist/engine/agent-api/CartoonDirector.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonDirector.js +0 -432
- package/dist/engine/agent-api/CartoonDirector.js.map +0 -1
- package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +0 -51
- package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonEpisodePackage.js +0 -79
- package/dist/engine/agent-api/CartoonEpisodePackage.js.map +0 -1
- package/dist/engine/agent-api/CartoonMotionQuality.d.ts +0 -83
- package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonMotionQuality.js +0 -128
- package/dist/engine/agent-api/CartoonMotionQuality.js.map +0 -1
- package/dist/engine/agent-api/CartoonPerformance.d.ts +0 -150
- package/dist/engine/agent-api/CartoonPerformance.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonPerformance.js +0 -345
- package/dist/engine/agent-api/CartoonPerformance.js.map +0 -1
- package/dist/engine/agent-api/CartoonRenderQueue.d.ts +0 -143
- package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonRenderQueue.js +0 -410
- package/dist/engine/agent-api/CartoonRenderQueue.js.map +0 -1
- package/dist/engine/agent-api/CartoonRouteProof.d.ts +0 -112
- package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +0 -1
- package/dist/engine/agent-api/CartoonRouteProof.js +0 -127
- package/dist/engine/agent-api/CartoonRouteProof.js.map +0 -1
- package/dist/engine/agent-api/LeanArcadeRuntime.d.ts +0 -111
- package/dist/engine/agent-api/LeanArcadeRuntime.d.ts.map +0 -1
- package/dist/engine/agent-api/LeanArcadeRuntime.js +0 -219
- package/dist/engine/agent-api/LeanArcadeRuntime.js.map +0 -1
- package/dist/engine/agent-api/lean-base.d.ts +0 -224
- package/dist/engine/agent-api/lean-base.d.ts.map +0 -1
- package/dist/engine/agent-api/lean-base.js +0 -322
- package/dist/engine/agent-api/lean-base.js.map +0 -1
- package/dist/input/GestureHapticsFixtures.d.ts +0 -57
- package/dist/input/GestureHapticsFixtures.d.ts.map +0 -1
- package/dist/input/GestureHapticsFixtures.js +0 -115
- package/dist/input/GestureHapticsFixtures.js.map +0 -1
- package/dist/input/InputActionBinding.d.ts +0 -44
- package/dist/input/InputActionBinding.d.ts.map +0 -1
- package/dist/input/InputActionBinding.js +0 -86
- package/dist/input/InputActionBinding.js.map +0 -1
- package/dist/input/InputActionBindingFixtures.d.ts +0 -52
- package/dist/input/InputActionBindingFixtures.d.ts.map +0 -1
- package/dist/input/InputActionBindingFixtures.js +0 -94
- package/dist/input/InputActionBindingFixtures.js.map +0 -1
- package/dist/input/XRFixtures.d.ts +0 -65
- package/dist/input/XRFixtures.d.ts.map +0 -1
- package/dist/input/XRFixtures.js +0 -136
- package/dist/input/XRFixtures.js.map +0 -1
- package/dist/physics/CharacterController.d.ts +0 -135
- package/dist/physics/CharacterController.d.ts.map +0 -1
- package/dist/physics/CharacterController.js +0 -609
- package/dist/physics/CharacterController.js.map +0 -1
- package/dist/physics/ClothFixtures.d.ts +0 -87
- package/dist/physics/ClothFixtures.d.ts.map +0 -1
- package/dist/physics/ClothFixtures.js +0 -264
- package/dist/physics/ClothFixtures.js.map +0 -1
- package/dist/physics/Crowd.d.ts +0 -64
- package/dist/physics/Crowd.d.ts.map +0 -1
- package/dist/physics/Crowd.js +0 -209
- package/dist/physics/Crowd.js.map +0 -1
- package/dist/physics/FireSmokeFixtures.d.ts +0 -103
- package/dist/physics/FireSmokeFixtures.d.ts.map +0 -1
- package/dist/physics/FireSmokeFixtures.js +0 -271
- package/dist/physics/FireSmokeFixtures.js.map +0 -1
- package/dist/physics/FluidFixtures.d.ts +0 -75
- package/dist/physics/FluidFixtures.d.ts.map +0 -1
- package/dist/physics/FluidFixtures.js +0 -219
- package/dist/physics/FluidFixtures.js.map +0 -1
- package/dist/physics/FractureFixtures.d.ts +0 -68
- package/dist/physics/FractureFixtures.d.ts.map +0 -1
- package/dist/physics/FractureFixtures.js +0 -199
- package/dist/physics/FractureFixtures.js.map +0 -1
- package/dist/physics/NarrowPhase.d.ts +0 -11
- package/dist/physics/NarrowPhase.d.ts.map +0 -1
- package/dist/physics/NarrowPhase.js +0 -565
- package/dist/physics/NarrowPhase.js.map +0 -1
- package/dist/physics/Navigation.d.ts +0 -67
- package/dist/physics/Navigation.d.ts.map +0 -1
- package/dist/physics/Navigation.js +0 -261
- package/dist/physics/Navigation.js.map +0 -1
- package/dist/physics/PathFollowDriver.d.ts +0 -162
- package/dist/physics/PathFollowDriver.d.ts.map +0 -1
- package/dist/physics/PathFollowDriver.js +0 -163
- package/dist/physics/PathFollowDriver.js.map +0 -1
- package/dist/physics/PhysicsSandboxFixtures.d.ts +0 -53
- package/dist/physics/PhysicsSandboxFixtures.d.ts.map +0 -1
- package/dist/physics/PhysicsSandboxFixtures.js +0 -280
- package/dist/physics/PhysicsSandboxFixtures.js.map +0 -1
- package/dist/physics/PlatformerFixtures.d.ts +0 -70
- package/dist/physics/PlatformerFixtures.d.ts.map +0 -1
- package/dist/physics/PlatformerFixtures.js +0 -120
- package/dist/physics/PlatformerFixtures.js.map +0 -1
- package/dist/physics/RacingLineProfile.d.ts +0 -116
- package/dist/physics/RacingLineProfile.d.ts.map +0 -1
- package/dist/physics/RacingLineProfile.js +0 -181
- package/dist/physics/RacingLineProfile.js.map +0 -1
- package/dist/physics/SoftBodyFixtures.d.ts +0 -70
- package/dist/physics/SoftBodyFixtures.d.ts.map +0 -1
- package/dist/physics/SoftBodyFixtures.js +0 -272
- package/dist/physics/SoftBodyFixtures.js.map +0 -1
- package/dist/physics/Steering.d.ts +0 -161
- package/dist/physics/Steering.d.ts.map +0 -1
- package/dist/physics/Steering.js +0 -347
- package/dist/physics/Steering.js.map +0 -1
- package/dist/physics/VehicleDynamics.d.ts +0 -162
- package/dist/physics/VehicleDynamics.d.ts.map +0 -1
- package/dist/physics/VehicleDynamics.js +0 -363
- package/dist/physics/VehicleDynamics.js.map +0 -1
- package/dist/physics/VehicleMotion.d.ts +0 -125
- package/dist/physics/VehicleMotion.d.ts.map +0 -1
- package/dist/physics/VehicleMotion.js +0 -373
- package/dist/physics/VehicleMotion.js.map +0 -1
- package/dist/physics/solverless-entry.d.ts +0 -41
- package/dist/physics/solverless-entry.d.ts.map +0 -1
- package/dist/physics/solverless-entry.js +0 -40
- package/dist/physics/solverless-entry.js.map +0 -1
- package/dist/physics/world-entry.d.ts +0 -31
- package/dist/physics/world-entry.d.ts.map +0 -1
- package/dist/physics/world-entry.js +0 -30
- package/dist/physics/world-entry.js.map +0 -1
- package/dist/rendering/ArchitecturalLightingFixtures.d.ts +0 -40
- package/dist/rendering/ArchitecturalLightingFixtures.d.ts.map +0 -1
- package/dist/rendering/ArchitecturalLightingFixtures.js +0 -171
- package/dist/rendering/ArchitecturalLightingFixtures.js.map +0 -1
- package/dist/rendering/ArchitecturalMeasurementFixtures.d.ts +0 -30
- package/dist/rendering/ArchitecturalMeasurementFixtures.d.ts.map +0 -1
- package/dist/rendering/ArchitecturalMeasurementFixtures.js +0 -115
- package/dist/rendering/ArchitecturalMeasurementFixtures.js.map +0 -1
- package/dist/rendering/CanonicalSceneFixtures.d.ts +0 -13
- package/dist/rendering/CanonicalSceneFixtures.d.ts.map +0 -1
- package/dist/rendering/CanonicalSceneFixtures.js +0 -78
- package/dist/rendering/CanonicalSceneFixtures.js.map +0 -1
- package/dist/rendering/CullingFixtures.d.ts +0 -70
- package/dist/rendering/CullingFixtures.d.ts.map +0 -1
- package/dist/rendering/CullingFixtures.js +0 -191
- package/dist/rendering/CullingFixtures.js.map +0 -1
- package/dist/rendering/OceanFixtures.d.ts +0 -62
- package/dist/rendering/OceanFixtures.d.ts.map +0 -1
- package/dist/rendering/OceanFixtures.js +0 -240
- package/dist/rendering/OceanFixtures.js.map +0 -1
- package/dist/rendering/ProceduralTextureFixtures.d.ts +0 -27
- package/dist/rendering/ProceduralTextureFixtures.d.ts.map +0 -1
- package/dist/rendering/ProceduralTextureFixtures.js +0 -336
- package/dist/rendering/ProceduralTextureFixtures.js.map +0 -1
- package/dist/rendering/ProductTurntableFixtures.d.ts +0 -96
- package/dist/rendering/ProductTurntableFixtures.d.ts.map +0 -1
- package/dist/rendering/ProductTurntableFixtures.js +0 -639
- package/dist/rendering/ProductTurntableFixtures.js.map +0 -1
- package/dist/rendering/SpaceEnvironmentFixtures.d.ts +0 -59
- package/dist/rendering/SpaceEnvironmentFixtures.d.ts.map +0 -1
- package/dist/rendering/SpaceEnvironmentFixtures.js +0 -132
- package/dist/rendering/SpaceEnvironmentFixtures.js.map +0 -1
- package/dist/rendering/TerrainFixtures.d.ts +0 -60
- package/dist/rendering/TerrainFixtures.d.ts.map +0 -1
- package/dist/rendering/TerrainFixtures.js +0 -239
- package/dist/rendering/TerrainFixtures.js.map +0 -1
- package/dist/rendering/VegetationFixtures.d.ts +0 -68
- package/dist/rendering/VegetationFixtures.d.ts.map +0 -1
- package/dist/rendering/VegetationFixtures.js +0 -241
- package/dist/rendering/VegetationFixtures.js.map +0 -1
- package/dist/rendering/VoxelWorldFixtures.d.ts +0 -54
- package/dist/rendering/VoxelWorldFixtures.d.ts.map +0 -1
- package/dist/rendering/VoxelWorldFixtures.js +0 -186
- package/dist/rendering/VoxelWorldFixtures.js.map +0 -1
- package/dist/rendering/WeatherFixtures.d.ts +0 -46
- package/dist/rendering/WeatherFixtures.d.ts.map +0 -1
- package/dist/rendering/WeatherFixtures.js +0 -142
- package/dist/rendering/WeatherFixtures.js.map +0 -1
- package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +0 -19
- package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
- package/dist/rendering/cartoon/CartoonMaterialStyle.js +0 -13
- package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +0 -1
- package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +0 -36
- package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +0 -1
- package/dist/rendering/cartoon/CartoonRenderPreset.js +0 -23
- package/dist/rendering/cartoon/CartoonRenderPreset.js.map +0 -1
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +0 -130
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +0 -1
- package/dist/rendering/cartoon/CartoonToonMaterial.js +0 -303
- package/dist/rendering/cartoon/CartoonToonMaterial.js.map +0 -1
- package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +0 -28
- package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +0 -1
- package/dist/rendering/cartoon/CartoonVisualQuality.js +0 -39
- package/dist/rendering/cartoon/CartoonVisualQuality.js.map +0 -1
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +0 -79
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js +0 -88
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +0 -1
- package/dist/rendering/cartoon/index.d.ts +0 -6
- package/dist/rendering/cartoon/index.d.ts.map +0 -1
- package/dist/rendering/cartoon/index.js +0 -6
- package/dist/rendering/cartoon/index.js.map +0 -1
- package/dist/rendering/threejs-compatibility/InstancingSystem.d.ts +0 -10
- package/dist/rendering/threejs-compatibility/InstancingSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/InstancingSystem.js +0 -11
- package/dist/rendering/threejs-compatibility/InstancingSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/LightingSystem.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/LightingSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/LightingSystem.js +0 -14
- package/dist/rendering/threejs-compatibility/LightingSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/MaterialSystem.d.ts +0 -6
- package/dist/rendering/threejs-compatibility/MaterialSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/MaterialSystem.js +0 -7
- package/dist/rendering/threejs-compatibility/MaterialSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.d.ts +0 -16
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.js +0 -23
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.d.ts +0 -27
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.js +0 -41
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.js.map +0 -1
- package/dist/rendering/threejs-compatibility/SceneRenderer.d.ts +0 -19
- package/dist/rendering/threejs-compatibility/SceneRenderer.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/SceneRenderer.js +0 -18
- package/dist/rendering/threejs-compatibility/SceneRenderer.js.map +0 -1
- package/dist/rendering/threejs-compatibility/ShadowSystem.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/ShadowSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/ShadowSystem.js +0 -12
- package/dist/rendering/threejs-compatibility/ShadowSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/TextureSystem.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/TextureSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/TextureSystem.js +0 -14
- package/dist/rendering/threejs-compatibility/TextureSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.d.ts +0 -37
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.js +0 -77
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.js.map +0 -1
- package/dist/rendering/threejs-compatibility/TransparencySystem.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/TransparencySystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/TransparencySystem.js +0 -12
- package/dist/rendering/threejs-compatibility/TransparencySystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/index.d.ts +0 -25
- package/dist/rendering/threejs-compatibility/index.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/index.js +0 -15
- package/dist/rendering/threejs-compatibility/index.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/BVH.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/performance/BVH.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/BVH.js +0 -10
- package/dist/rendering/threejs-compatibility/performance/BVH.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.js +0 -5
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/Instancing.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/performance/Instancing.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/Instancing.js +0 -10
- package/dist/rendering/threejs-compatibility/performance/Instancing.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/LODSystem.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/performance/LODSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/LODSystem.js +0 -11
- package/dist/rendering/threejs-compatibility/performance/LODSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.d.ts +0 -3
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.js +0 -5
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.d.ts +0 -8
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.js +0 -11
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.js +0 -10
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.js +0 -10
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.js.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/index.d.ts +0 -13
- package/dist/rendering/threejs-compatibility/performance/index.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/performance/index.js +0 -9
- package/dist/rendering/threejs-compatibility/performance/index.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.js +0 -14
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.d.ts +0 -10
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.js +0 -16
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.js +0 -19
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.js +0 -11
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.js +0 -10
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.js +0 -18
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.js +0 -19
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.d.ts +0 -42
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.js +0 -123
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.js +0 -8
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.js +0 -10
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.js +0 -19
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.js +0 -11
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.js +0 -10
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.d.ts +0 -9
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.js +0 -14
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.js.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/index.d.ts +0 -16
- package/dist/rendering/threejs-compatibility/postprocess/index.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/postprocess/index.js +0 -15
- package/dist/rendering/threejs-compatibility/postprocess/index.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.d.ts +0 -14
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.js +0 -15
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.d.ts +0 -6
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.js +0 -6
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.js +0 -12
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.d.ts +0 -12
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.js +0 -20
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.js +0 -7
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.d.ts +0 -8
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.js +0 -14
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.js.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/index.d.ts +0 -10
- package/dist/rendering/threejs-compatibility/shaders/index.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/shaders/index.js +0 -7
- package/dist/rendering/threejs-compatibility/shaders/index.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.d.ts +0 -7
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.js +0 -12
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.d.ts +0 -10
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.js +0 -7
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.d.ts +0 -12
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.js +0 -15
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.d.ts +0 -11
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.js +0 -7
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.d.ts +0 -5
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.js +0 -9
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.d.ts +0 -21
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.js +0 -12
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.js.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/index.d.ts +0 -10
- package/dist/rendering/threejs-compatibility/vfx/index.d.ts.map +0 -1
- package/dist/rendering/threejs-compatibility/vfx/index.js +0 -7
- package/dist/rendering/threejs-compatibility/vfx/index.js.map +0 -1
- package/dist/rendering/webgpu-device-entry.d.ts +0 -25
- package/dist/rendering/webgpu-device-entry.d.ts.map +0 -1
- package/dist/rendering/webgpu-device-entry.js +0 -24
- package/dist/rendering/webgpu-device-entry.js.map +0 -1
- package/dist/scripting/AdaptiveDifficultyFixtures.d.ts +0 -58
- package/dist/scripting/AdaptiveDifficultyFixtures.d.ts.map +0 -1
- package/dist/scripting/AdaptiveDifficultyFixtures.js +0 -228
- package/dist/scripting/AdaptiveDifficultyFixtures.js.map +0 -1
- package/dist/scripting/AnalyticsPrivacyFixtures.d.ts +0 -63
- package/dist/scripting/AnalyticsPrivacyFixtures.d.ts.map +0 -1
- package/dist/scripting/AnalyticsPrivacyFixtures.js +0 -120
- package/dist/scripting/AnalyticsPrivacyFixtures.js.map +0 -1
- package/dist/scripting/CartoonNodeCategories.d.ts +0 -3
- package/dist/scripting/CartoonNodeCategories.d.ts.map +0 -1
- package/dist/scripting/CartoonNodeCategories.js +0 -9
- package/dist/scripting/CartoonNodeCategories.js.map +0 -1
- package/dist/scripting/CartoonVisualNodes.d.ts +0 -3
- package/dist/scripting/CartoonVisualNodes.d.ts.map +0 -1
- package/dist/scripting/CartoonVisualNodes.js +0 -41
- package/dist/scripting/CartoonVisualNodes.js.map +0 -1
- package/dist/scripting/CloudServiceFixtures.d.ts +0 -81
- package/dist/scripting/CloudServiceFixtures.d.ts.map +0 -1
- package/dist/scripting/CloudServiceFixtures.js +0 -144
- package/dist/scripting/CloudServiceFixtures.js.map +0 -1
- package/dist/scripting/CulturalBehaviorFixtures.d.ts +0 -75
- package/dist/scripting/CulturalBehaviorFixtures.d.ts.map +0 -1
- package/dist/scripting/CulturalBehaviorFixtures.js +0 -180
- package/dist/scripting/CulturalBehaviorFixtures.js.map +0 -1
- package/dist/scripting/LearningAgentFixtures.d.ts +0 -60
- package/dist/scripting/LearningAgentFixtures.d.ts.map +0 -1
- package/dist/scripting/LearningAgentFixtures.js +0 -122
- package/dist/scripting/LearningAgentFixtures.js.map +0 -1
- package/dist/scripting/NetworkReplicationFixtures.d.ts +0 -82
- package/dist/scripting/NetworkReplicationFixtures.d.ts.map +0 -1
- package/dist/scripting/NetworkReplicationFixtures.js +0 -330
- package/dist/scripting/NetworkReplicationFixtures.js.map +0 -1
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.d.ts +0 -74
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.d.ts.map +0 -1
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.js +0 -189
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.js.map +0 -1
- package/dist/scripting/ProceduralContentAdaptationFixtures.d.ts +0 -52
- package/dist/scripting/ProceduralContentAdaptationFixtures.d.ts.map +0 -1
- package/dist/scripting/ProceduralContentAdaptationFixtures.js +0 -149
- package/dist/scripting/ProceduralContentAdaptationFixtures.js.map +0 -1
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
export function sampleArcadeVehicleDynamics(input) {
|
|
2
|
-
const elapsed = finiteNonNegative(input.elapsedSeconds, "elapsedSeconds");
|
|
3
|
-
const throttle = clamp(input.throttle ?? 1, -1, 1);
|
|
4
|
-
const brake = clamp(input.brake ?? 0, 0, 1);
|
|
5
|
-
const steer = clamp(input.steer ?? 0, -1, 1);
|
|
6
|
-
const maxSpeedKph = positive(input.maxSpeedKph ?? 220, "maxSpeedKph");
|
|
7
|
-
const acceleration = positive(input.acceleration ?? 9.5, "acceleration");
|
|
8
|
-
const brakeForce = positive(input.brakeForce ?? 14, "brakeForce");
|
|
9
|
-
const gripFactor = clamp(input.gripFactor ?? 0.82, 0, 1);
|
|
10
|
-
const driftFactor = clamp(input.driftFactor ?? 0.36, 0, 1);
|
|
11
|
-
const maxSpeedMps = maxSpeedKph / 3.6;
|
|
12
|
-
const accelerationCurve = 1 - Math.exp(-elapsed * acceleration / Math.max(1, maxSpeedMps));
|
|
13
|
-
const braking = Math.min(maxSpeedMps, brakeForce * brake * Math.min(elapsed, 4));
|
|
14
|
-
const nitroAvailable = Math.max(0, 100 - elapsed * 10.5);
|
|
15
|
-
const nitroBoost = input.nitro === true && nitroAvailable > 0 ? 1.18 : 1;
|
|
16
|
-
const signedSpeedMps = clamp((maxSpeedMps * accelerationCurve * throttle * nitroBoost) - braking, -maxSpeedMps * 0.32, maxSpeedMps * nitroBoost);
|
|
17
|
-
const speedRatio = Math.min(1, Math.abs(signedSpeedMps) / maxSpeedMps);
|
|
18
|
-
const highSpeedSteerLimit = 1 - speedRatio * 0.55;
|
|
19
|
-
const steerAngle = steer * 0.62 * highSpeedSteerLimit;
|
|
20
|
-
const handbrakeSlip = input.handbrake === true ? driftFactor * (0.45 + speedRatio * 0.55) : 0;
|
|
21
|
-
const steeringSlip = Math.abs(steer) * speedRatio * (1 - gripFactor) * 0.75;
|
|
22
|
-
const driftSlip = clamp(handbrakeSlip + steeringSlip, 0, 1);
|
|
23
|
-
const grip = clamp(gripFactor * (1 - driftSlip * 0.62), 0, 1);
|
|
24
|
-
const rpm = 1000 + speedRatio * 6100 + (input.nitro === true ? 650 : 0) + driftSlip * 450;
|
|
25
|
-
const wheelSpin = elapsed * Math.abs(signedSpeedMps) * (1 + driftSlip * 1.8);
|
|
26
|
-
const suspensionCompression = suspensionFor(steer, speedRatio, driftSlip);
|
|
27
|
-
return {
|
|
28
|
-
speedKph: Number((signedSpeedMps * 3.6).toFixed(3)),
|
|
29
|
-
rpm: Number(rpm.toFixed(3)),
|
|
30
|
-
nitro: Number(nitroAvailable.toFixed(3)),
|
|
31
|
-
steerAngle: Number(steerAngle.toFixed(5)),
|
|
32
|
-
driftSlip: Number(driftSlip.toFixed(5)),
|
|
33
|
-
grip: Number(grip.toFixed(5)),
|
|
34
|
-
wheelSpin: Number(wheelSpin.toFixed(5)),
|
|
35
|
-
suspensionCompression
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
export function sampleVehicleDamage(input) {
|
|
39
|
-
const health = clamp(finiteNonNegative(input.health ?? 100, "health"), 0, 100);
|
|
40
|
-
const impactSpeedKph = finiteNonNegative(input.impactSpeedKph ?? 0, "impactSpeedKph");
|
|
41
|
-
const collisionSeverity = clamp(input.collisionSeverity ?? 0, 0, 1);
|
|
42
|
-
const repair = clamp(input.repair ?? 0, 0, 100);
|
|
43
|
-
const impactDamage = Math.max(0, (impactSpeedKph - 18) * 0.34 * collisionSeverity);
|
|
44
|
-
const nextHealth = clamp(health - impactDamage + repair, 0, 100);
|
|
45
|
-
const damage = 100 - nextHealth;
|
|
46
|
-
return {
|
|
47
|
-
health: Number(nextHealth.toFixed(3)),
|
|
48
|
-
damage: Number(damage.toFixed(3)),
|
|
49
|
-
impactDamage: Number(impactDamage.toFixed(3)),
|
|
50
|
-
visualDamageLevel: damage >= 72 ? "critical" : damage >= 42 ? "dented" : damage > 0 ? "scratched" : "none",
|
|
51
|
-
disabled: nextHealth <= 0
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
export function sampleVehicleEffectEmitters(input) {
|
|
55
|
-
const speedKph = finiteNonNegative(input.speedKph, "speedKph");
|
|
56
|
-
const throttle = clamp(input.throttle ?? 0, -1, 1);
|
|
57
|
-
const steer = clamp(input.steer ?? 0, -1, 1);
|
|
58
|
-
const wheelOnGround = input.wheelOnGround ?? [true, true, true, true];
|
|
59
|
-
const smokeReason = input.handbrake === true
|
|
60
|
-
? "handbrake"
|
|
61
|
-
: Math.abs(throttle) > 0.7 && speedKph < 30
|
|
62
|
-
? "launch-wheelspin"
|
|
63
|
-
: Math.abs(steer) > 0.7 && speedKph > 50
|
|
64
|
-
? "high-speed-steer"
|
|
65
|
-
: "none";
|
|
66
|
-
const baseSmokeRate = smokeReason === "none" ? 0 : smokeReason === "handbrake" ? 64 : smokeReason === "launch-wheelspin" ? 46 : 38;
|
|
67
|
-
const tireSmokeRates = wheelOnGround.map((onGround, index) => {
|
|
68
|
-
const rearBias = index >= 2 ? 1.18 : 0.86;
|
|
69
|
-
return onGround ? Number((baseSmokeRate * rearBias).toFixed(3)) : 0;
|
|
70
|
-
});
|
|
71
|
-
const nitroFlameRate = input.nitroActive === true ? Number((160 + Math.abs(throttle) * 80).toFixed(3)) : 0;
|
|
72
|
-
const totalTireSmokeRate = Number(tireSmokeRates.reduce((sum, rate) => sum + rate, 0).toFixed(3));
|
|
73
|
-
return {
|
|
74
|
-
tireSmokeRates,
|
|
75
|
-
totalTireSmokeRate,
|
|
76
|
-
nitroFlameRate,
|
|
77
|
-
visibleEffectEmitters: tireSmokeRates.filter((rate) => rate > 0).length + (nitroFlameRate > 0 ? 1 : 0),
|
|
78
|
-
smokeReason
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
export function sampleVehicleDrivetrain(input) {
|
|
82
|
-
const speedKph = finiteNonNegative(input.speedKph, "speedKph");
|
|
83
|
-
const throttle = clamp(input.throttle ?? 1, 0, 1);
|
|
84
|
-
const clutch = clamp(input.clutch ?? 1, 0, 1);
|
|
85
|
-
const gearRatios = validateGearRatios(input.gearRatios ?? [3.42, 2.21, 1.52, 1.14, 0.89, 0.71]);
|
|
86
|
-
const finalDriveRatio = positive(input.finalDriveRatio ?? 3.55, "finalDriveRatio");
|
|
87
|
-
const idleRpm = positive(input.idleRpm ?? 950, "idleRpm");
|
|
88
|
-
const maxRpm = Math.max(idleRpm + 1, positive(input.maxRpm ?? 7200, "maxRpm"));
|
|
89
|
-
const peakTorque = positive(input.peakTorque ?? 420, "peakTorque");
|
|
90
|
-
const peakTorqueRpm = clamp(positive(input.peakTorqueRpm ?? 4200, "peakTorqueRpm"), idleRpm, maxRpm);
|
|
91
|
-
const upshiftRpm = clamp(input.upshiftRpm ?? maxRpm * 0.86, idleRpm, maxRpm);
|
|
92
|
-
const downshiftRpm = clamp(input.downshiftRpm ?? peakTorqueRpm * 0.55, idleRpm, upshiftRpm);
|
|
93
|
-
const differential = input.differential ?? "limited-slip";
|
|
94
|
-
const frontRearSplit = clamp(input.frontRearSplit ?? 0.42, 0, 1);
|
|
95
|
-
const lockingFactor = clamp(input.lockingFactor ?? 0.35, 0, 1);
|
|
96
|
-
const dragCoefficient = positive(input.dragCoefficient ?? 0.32, "dragCoefficient");
|
|
97
|
-
const frontalArea = positive(input.frontalArea ?? 2.1, "frontalArea");
|
|
98
|
-
const downforceCoefficient = finiteNonNegative(input.downforceCoefficient ?? 0.58, "downforceCoefficient");
|
|
99
|
-
const speedMps = speedKph / 3.6;
|
|
100
|
-
const wheelRadius = 0.34;
|
|
101
|
-
const wheelRpm = speedMps <= 0 ? 0 : (speedMps / (Math.PI * 2 * wheelRadius)) * 60;
|
|
102
|
-
const selected = selectAutomaticGear(gearRatios, wheelRpm, finalDriveRatio, idleRpm, maxRpm, upshiftRpm, downshiftRpm);
|
|
103
|
-
const engineRpm = clamp(Math.max(idleRpm, wheelRpm * selected.ratio * finalDriveRatio), idleRpm, maxRpm);
|
|
104
|
-
const engineTorque = engineTorqueAt(engineRpm, peakTorque, peakTorqueRpm, idleRpm, maxRpm) * throttle;
|
|
105
|
-
const differentialEfficiency = differential === "open"
|
|
106
|
-
? 0.92
|
|
107
|
-
: differential === "limited-slip"
|
|
108
|
-
? 0.95 + lockingFactor * 0.025
|
|
109
|
-
: differential === "locked"
|
|
110
|
-
? 0.96 + lockingFactor * 0.02
|
|
111
|
-
: 0.94 + lockingFactor * 0.04;
|
|
112
|
-
const wheelTorque = engineTorque * selected.ratio * finalDriveRatio * clutch * differentialEfficiency;
|
|
113
|
-
const torqueBias = differential === "open"
|
|
114
|
-
? 0
|
|
115
|
-
: differential === "limited-slip"
|
|
116
|
-
? lockingFactor * 0.04
|
|
117
|
-
: differential === "locked"
|
|
118
|
-
? lockingFactor * 0.02
|
|
119
|
-
: lockingFactor * 0.06;
|
|
120
|
-
const frontSplit = clamp(frontRearSplit - torqueBias, 0, 1);
|
|
121
|
-
const dragForce = 0.5 * 1.225 * dragCoefficient * frontalArea * speedMps * speedMps;
|
|
122
|
-
const downforce = 0.5 * 1.225 * downforceCoefficient * frontalArea * speedMps * speedMps;
|
|
123
|
-
return {
|
|
124
|
-
gear: selected.gear,
|
|
125
|
-
gearRatio: Number(selected.ratio.toFixed(4)),
|
|
126
|
-
engineRpm: Number(engineRpm.toFixed(3)),
|
|
127
|
-
engineTorque: Number(engineTorque.toFixed(3)),
|
|
128
|
-
wheelTorque: Number(wheelTorque.toFixed(3)),
|
|
129
|
-
frontTorque: Number((wheelTorque * frontSplit).toFixed(3)),
|
|
130
|
-
rearTorque: Number((wheelTorque * (1 - frontSplit)).toFixed(3)),
|
|
131
|
-
dragForce: Number(dragForce.toFixed(3)),
|
|
132
|
-
downforce: Number(downforce.toFixed(3)),
|
|
133
|
-
shiftState: selected.shiftState,
|
|
134
|
-
differential
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
export function sampleRacingAiDriver(input) {
|
|
138
|
-
const elapsed = finiteNonNegative(input.elapsedSeconds, "elapsedSeconds");
|
|
139
|
-
const progress = clamp(finite(input.progress, "progress"), 0, 1);
|
|
140
|
-
const speedKph = finiteNonNegative(input.speedKph, "speedKph");
|
|
141
|
-
const targetSpeedKph = positive(input.targetSpeedKph ?? 220, "targetSpeedKph");
|
|
142
|
-
const curvature = clamp(input.trackCurvature ?? 0, -1, 1);
|
|
143
|
-
const opponentDistance = input.opponentDistance === undefined ? Number.POSITIVE_INFINITY : finiteNonNegative(input.opponentDistance, "opponentDistance");
|
|
144
|
-
const playerGapSeconds = finite(input.playerGapSeconds ?? 0, "playerGapSeconds");
|
|
145
|
-
const difficulty = input.difficulty ?? "medium";
|
|
146
|
-
const settings = racingAiSettings(difficulty);
|
|
147
|
-
const rubberbandBoost = clamp((-playerGapSeconds) * settings.rubberbandStrength * 0.08, -0.08, 0.18);
|
|
148
|
-
const desiredSpeed = targetSpeedKph * settings.targetSpeedFactor * (1 - Math.abs(curvature) * 0.24) * (1 + rubberbandBoost);
|
|
149
|
-
const speedError = desiredSpeed - speedKph;
|
|
150
|
-
const overtaking = input.opponentAhead === true && opponentDistance < 22 && settings.aggressiveness >= 0.55;
|
|
151
|
-
const deterministicSide = Math.sin((progress + elapsed * 0.13) * Math.PI * 6) >= 0 ? 1 : -1;
|
|
152
|
-
const overtakeOffset = overtaking ? deterministicSide * (0.28 + settings.aggressiveness * 0.18) : 0;
|
|
153
|
-
const racingLineSteer = Math.sin(progress * Math.PI * 2) * 0.18 + curvature * 0.62;
|
|
154
|
-
const rawSteer = racingLineSteer + overtakeOffset;
|
|
155
|
-
const steer = clamp(rawSteer * settings.steerSmoothing, -1, 1);
|
|
156
|
-
return {
|
|
157
|
-
difficulty,
|
|
158
|
-
throttle: Number(clamp(speedError / 48 + 0.5, 0, 1).toFixed(4)),
|
|
159
|
-
brake: Number(clamp(-speedError / 38 + Math.abs(curvature) * 0.18, 0, 1).toFixed(4)),
|
|
160
|
-
steer: Number(steer.toFixed(4)),
|
|
161
|
-
targetSpeedKph: Number(desiredSpeed.toFixed(3)),
|
|
162
|
-
lookaheadDistance: Number((15 + speedKph / 10 + (overtaking ? -4 : 0)).toFixed(3)),
|
|
163
|
-
reactionTime: settings.reactionTime,
|
|
164
|
-
aggressiveness: settings.aggressiveness,
|
|
165
|
-
overtaking,
|
|
166
|
-
overtakeOffset: Number(overtakeOffset.toFixed(4)),
|
|
167
|
-
rubberbandBoost: Number(rubberbandBoost.toFixed(4))
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Peak lateral cornering stiffness of a tyre preset, per newton of vertical load.
|
|
172
|
-
*
|
|
173
|
-
* This is the initial slope of the Magic Formula lateral curve, `d * c * b`, in units of
|
|
174
|
-
* force per radian of slip per newton of load. An integrator needs it to size a stable
|
|
175
|
-
* timestep: the tyre is the stiffest spring in a vehicle model, so it sets the step, and
|
|
176
|
-
* assuming a fixed 1/60 s regardless of tyre, mass and wheelbase is what let the vehicle
|
|
177
|
-
* integrator go unstable and produce yaw opposing its own steering input.
|
|
178
|
-
*/
|
|
179
|
-
export function tirePeakCorneringStiffness(tire) {
|
|
180
|
-
const { value } = coefficients(tire);
|
|
181
|
-
return value.d * value.c * value.b;
|
|
182
|
-
}
|
|
183
|
-
export function samplePacejkaTireForces(input) {
|
|
184
|
-
const normalForce = finiteNonNegative(input.normalForce, "normalForce");
|
|
185
|
-
const longitudinalVelocity = finite(input.longitudinalVelocity, "longitudinalVelocity");
|
|
186
|
-
const lateralVelocity = finite(input.lateralVelocity ?? 0, "lateralVelocity");
|
|
187
|
-
const angularVelocity = finite(input.angularVelocity, "angularVelocity");
|
|
188
|
-
const steeringAngle = finite(input.steeringAngle ?? 0, "steeringAngle");
|
|
189
|
-
const camberAngle = finite(input.camberAngle ?? 0, "camberAngle");
|
|
190
|
-
const radius = positive(input.radius ?? 0.33, "radius");
|
|
191
|
-
const width = positive(input.width ?? 0.225, "width");
|
|
192
|
-
const maxLoad = positive(input.maxLoad ?? 5000, "maxLoad");
|
|
193
|
-
const loadSensitivity = positive(input.loadSensitivity ?? 1, "loadSensitivity");
|
|
194
|
-
const rollingResistance = clamp(input.rollingResistance ?? 0.015, 0, 1);
|
|
195
|
-
const longitudinal = coefficients(input.longitudinal ?? "sport");
|
|
196
|
-
const lateral = coefficients(input.lateral ?? "sport");
|
|
197
|
-
if (normalForce === 0) {
|
|
198
|
-
return {
|
|
199
|
-
longitudinalForce: 0,
|
|
200
|
-
lateralForce: 0,
|
|
201
|
-
combinedForce: 0,
|
|
202
|
-
slipRatio: 0,
|
|
203
|
-
slipAngle: 0,
|
|
204
|
-
aligningTorque: 0,
|
|
205
|
-
optimalSlipRatio: optimalSlipRatio(longitudinal.value),
|
|
206
|
-
optimalSlipAngle: optimalSlipAngle(lateral.value),
|
|
207
|
-
preset: { longitudinal: longitudinal.preset, lateral: lateral.preset }
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
const slipRatio = tireSlipRatio(longitudinalVelocity, angularVelocity, radius);
|
|
211
|
-
const slipAngle = tireSlipAngle(longitudinalVelocity, lateralVelocity, steeringAngle);
|
|
212
|
-
const loadFactor = clamp(Math.pow(normalForce / maxLoad, loadSensitivity), 0.1, 1.5);
|
|
213
|
-
const camberGrip = clamp(1 - Math.abs(camberAngle) * 0.1, 0.75, 1.08);
|
|
214
|
-
const longitudinalPure = pacejka(slipRatio, longitudinal.value) * normalForce * loadFactor * camberGrip
|
|
215
|
-
- Math.sign(longitudinalVelocity) * normalForce * rollingResistance;
|
|
216
|
-
/*
|
|
217
|
-
* Slip angle stays in radians.
|
|
218
|
-
*
|
|
219
|
-
* The lateral presets use stiffness factors around b=10..14, which is the radian
|
|
220
|
-
* convention for the Magic Formula. (The degree convention runs b=0.2..0.3.) Feeding
|
|
221
|
-
* degrees into radian coefficients moved the grip peak from ~6.9 degrees of slip to
|
|
222
|
-
* ~0.08 degrees, so every physically real cornering slip angle landed far down the
|
|
223
|
-
* falloff: at 19 degrees of slip the model returned mu=0.20 instead of mu=1.21.
|
|
224
|
-
*
|
|
225
|
-
* A tyre that loses 85% of its grip the instant it is asked to corner cannot hold a
|
|
226
|
-
* line, and it makes tiny near-zero slip angles produce enormous force swings, which
|
|
227
|
-
* showed up as yaw-rate chatter. Verified in `tyre-slip-curve.test.ts`.
|
|
228
|
-
*/
|
|
229
|
-
const lateralPure = pacejka(slipAngle, lateral.value) * normalForce * loadFactor * clamp(1 + camberAngle * 0.1, 0.75, 1.15);
|
|
230
|
-
const slipMagnitude = Math.hypot(Math.abs(slipRatio), Math.abs(slipAngle));
|
|
231
|
-
const longitudinalScale = slipMagnitude < 0.001 ? 1 : Math.sqrt(Math.max(0, 1 - Math.pow((Math.abs(slipAngle) / slipMagnitude) * 0.9, 2)));
|
|
232
|
-
const lateralScale = slipMagnitude < 0.001 ? 1 : Math.sqrt(Math.max(0, 1 - Math.pow((Math.abs(slipRatio) / slipMagnitude) * 0.9, 2)));
|
|
233
|
-
const longitudinalForce = longitudinalPure * longitudinalScale;
|
|
234
|
-
const lateralForce = lateralPure * lateralScale;
|
|
235
|
-
const pneumaticTrail = width * 0.5;
|
|
236
|
-
// Pneumatic trail collapses as the tyre saturates; 20 degrees expressed in radians.
|
|
237
|
-
const torqueCoeff = -pneumaticTrail * clamp(1 - Math.abs(slipAngle) / (20 * Math.PI / 180), 0, 1);
|
|
238
|
-
const aligningTorque = clamp(lateralForce * torqueCoeff, -normalForce * width, normalForce * width);
|
|
239
|
-
return {
|
|
240
|
-
longitudinalForce: Number(longitudinalForce.toFixed(3)),
|
|
241
|
-
lateralForce: Number(lateralForce.toFixed(3)),
|
|
242
|
-
combinedForce: Number(Math.hypot(longitudinalForce, lateralForce).toFixed(3)),
|
|
243
|
-
slipRatio: Number(slipRatio.toFixed(5)),
|
|
244
|
-
slipAngle: Number(slipAngle.toFixed(5)),
|
|
245
|
-
aligningTorque: Number(aligningTorque.toFixed(3)),
|
|
246
|
-
optimalSlipRatio: Number(optimalSlipRatio(longitudinal.value).toFixed(5)),
|
|
247
|
-
optimalSlipAngle: Number(optimalSlipAngle(lateral.value).toFixed(5)),
|
|
248
|
-
preset: { longitudinal: longitudinal.preset, lateral: lateral.preset }
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
function validateGearRatios(values) {
|
|
252
|
-
if (values.length === 0) {
|
|
253
|
-
throw new RangeError("VehicleDynamics gearRatios must contain at least one ratio.");
|
|
254
|
-
}
|
|
255
|
-
return values.map((value, index) => positive(value, `gearRatios[${index}]`));
|
|
256
|
-
}
|
|
257
|
-
function selectAutomaticGear(gearRatios, wheelRpm, finalDriveRatio, idleRpm, maxRpm, upshiftRpm, downshiftRpm) {
|
|
258
|
-
if (wheelRpm <= 1)
|
|
259
|
-
return { gear: 1, ratio: gearRatios[0] ?? 1, shiftState: "hold" };
|
|
260
|
-
let gearIndex = 0;
|
|
261
|
-
let rpm = wheelRpm * (gearRatios[gearIndex] ?? 1) * finalDriveRatio;
|
|
262
|
-
while (gearIndex < gearRatios.length - 1 && rpm > upshiftRpm) {
|
|
263
|
-
gearIndex += 1;
|
|
264
|
-
rpm = wheelRpm * (gearRatios[gearIndex] ?? 1) * finalDriveRatio;
|
|
265
|
-
}
|
|
266
|
-
while (gearIndex > 0 && rpm < downshiftRpm) {
|
|
267
|
-
gearIndex -= 1;
|
|
268
|
-
rpm = wheelRpm * (gearRatios[gearIndex] ?? 1) * finalDriveRatio;
|
|
269
|
-
}
|
|
270
|
-
const clampedRpm = clamp(rpm, idleRpm, maxRpm);
|
|
271
|
-
return {
|
|
272
|
-
gear: gearIndex + 1,
|
|
273
|
-
ratio: gearRatios[gearIndex] ?? 1,
|
|
274
|
-
shiftState: clampedRpm >= upshiftRpm && gearIndex < gearRatios.length - 1 ? "upshift" : clampedRpm <= downshiftRpm && gearIndex > 0 ? "downshift" : "hold"
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
function engineTorqueAt(engineRpm, peakTorque, peakTorqueRpm, idleRpm, maxRpm) {
|
|
278
|
-
if (engineRpm <= peakTorqueRpm) {
|
|
279
|
-
const t = clamp((engineRpm - idleRpm) / Math.max(1, peakTorqueRpm - idleRpm), 0, 1);
|
|
280
|
-
return peakTorque * (0.8 + 0.2 * t);
|
|
281
|
-
}
|
|
282
|
-
const t = clamp((engineRpm - peakTorqueRpm) / Math.max(1, maxRpm - peakTorqueRpm), 0, 1);
|
|
283
|
-
return peakTorque * (1 - 0.4 * t);
|
|
284
|
-
}
|
|
285
|
-
function racingAiSettings(difficulty) {
|
|
286
|
-
switch (difficulty) {
|
|
287
|
-
case "easy":
|
|
288
|
-
return { targetSpeedFactor: 0.7, steerSmoothing: 0.3, reactionTime: 0.3, aggressiveness: 0.3, rubberbandStrength: 0.5 };
|
|
289
|
-
case "hard":
|
|
290
|
-
return { targetSpeedFactor: 0.95, steerSmoothing: 0.7, reactionTime: 0.05, aggressiveness: 0.9, rubberbandStrength: 0.1 };
|
|
291
|
-
case "medium":
|
|
292
|
-
return { targetSpeedFactor: 0.85, steerSmoothing: 0.5, reactionTime: 0.15, aggressiveness: 0.6, rubberbandStrength: 0.3 };
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
function suspensionFor(steer, speedRatio, driftSlip) {
|
|
296
|
-
const loadTransfer = steer * speedRatio * 0.18;
|
|
297
|
-
const brakeDive = driftSlip * 0.08;
|
|
298
|
-
return [
|
|
299
|
-
clamp(Number((0.48 - loadTransfer + brakeDive).toFixed(5)), 0, 1),
|
|
300
|
-
clamp(Number((0.48 + loadTransfer + brakeDive).toFixed(5)), 0, 1),
|
|
301
|
-
clamp(Number((0.42 - loadTransfer * 0.55).toFixed(5)), 0, 1),
|
|
302
|
-
clamp(Number((0.42 + loadTransfer * 0.55).toFixed(5)), 0, 1)
|
|
303
|
-
];
|
|
304
|
-
}
|
|
305
|
-
function finite(value, label) {
|
|
306
|
-
if (!Number.isFinite(value)) {
|
|
307
|
-
throw new RangeError(`VehicleDynamics ${label} must be finite.`);
|
|
308
|
-
}
|
|
309
|
-
return value;
|
|
310
|
-
}
|
|
311
|
-
function finiteNonNegative(value, label) {
|
|
312
|
-
if (!Number.isFinite(value) || value < 0) {
|
|
313
|
-
throw new RangeError(`VehicleDynamics ${label} must be finite and non-negative.`);
|
|
314
|
-
}
|
|
315
|
-
return value;
|
|
316
|
-
}
|
|
317
|
-
function positive(value, label) {
|
|
318
|
-
if (!Number.isFinite(value) || value <= 0) {
|
|
319
|
-
throw new RangeError(`VehicleDynamics ${label} must be finite and positive.`);
|
|
320
|
-
}
|
|
321
|
-
return value;
|
|
322
|
-
}
|
|
323
|
-
function coefficients(value) {
|
|
324
|
-
if (typeof value !== "string")
|
|
325
|
-
return { preset: "custom", value };
|
|
326
|
-
switch (value) {
|
|
327
|
-
case "street":
|
|
328
|
-
return { preset: value, value: { b: 10, c: 1.9, d: 1, e: 0.97 } };
|
|
329
|
-
case "sport":
|
|
330
|
-
return { preset: value, value: { b: 12, c: 2, d: 1.3, e: 0.95 } };
|
|
331
|
-
case "racing":
|
|
332
|
-
return { preset: value, value: { b: 14, c: 2.1, d: 1.6, e: 0.9 } };
|
|
333
|
-
case "offroad":
|
|
334
|
-
return { preset: value, value: { b: 7, c: 1.7, d: 0.9, e: 1 } };
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
function tireSlipRatio(longitudinalVelocity, angularVelocity, radius) {
|
|
338
|
-
const wheelVelocity = angularVelocity * radius;
|
|
339
|
-
const denominator = Math.max(Math.abs(wheelVelocity), Math.abs(longitudinalVelocity));
|
|
340
|
-
if (denominator < 0.1)
|
|
341
|
-
return 0;
|
|
342
|
-
return clamp((wheelVelocity - longitudinalVelocity) / denominator, -1, 1);
|
|
343
|
-
}
|
|
344
|
-
function tireSlipAngle(longitudinalVelocity, lateralVelocity, steeringAngle) {
|
|
345
|
-
if (Math.abs(longitudinalVelocity) < 0.1)
|
|
346
|
-
return 0;
|
|
347
|
-
return clamp(Math.atan2(lateralVelocity, longitudinalVelocity) - steeringAngle, -Math.PI * 0.4, Math.PI * 0.4);
|
|
348
|
-
}
|
|
349
|
-
function pacejka(slip, coeff) {
|
|
350
|
-
const bx = coeff.b * slip;
|
|
351
|
-
return coeff.d * Math.sin(coeff.c * Math.atan(bx - coeff.e * (bx - Math.atan(bx))));
|
|
352
|
-
}
|
|
353
|
-
function optimalSlipRatio(coeff) {
|
|
354
|
-
return Math.min(Math.tan(Math.PI / (2 * coeff.c)) / coeff.b, 0.2);
|
|
355
|
-
}
|
|
356
|
-
function optimalSlipAngle(coeff) {
|
|
357
|
-
// Radians, matching the units the lateral curve is now evaluated in.
|
|
358
|
-
return Math.min(Math.tan(Math.PI / (2 * coeff.c)) / coeff.b, 0.3);
|
|
359
|
-
}
|
|
360
|
-
function clamp(value, min, max) {
|
|
361
|
-
return Math.max(min, Math.min(max, value));
|
|
362
|
-
}
|
|
363
|
-
//# sourceMappingURL=VehicleDynamics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VehicleDynamics.js","sourceRoot":"","sources":["../../../../packages/physics/src/VehicleDynamics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { type PacejkaTirePreset } from "./VehicleDynamics.js";
|
|
2
|
-
/**
|
|
3
|
-
* Force-based planar vehicle motion.
|
|
4
|
-
*
|
|
5
|
-
* ## The gap this closes
|
|
6
|
-
*
|
|
7
|
-
* `samplePacejkaTireForce` is a real tyre model — slip ratio, slip angle, load-sensitive
|
|
8
|
-
* grip, a combined-slip friction circle and aligning torque. It had **zero consumers**.
|
|
9
|
-
* Meanwhile the racing kit drove a kinematic 2D point: heading integrated straight from
|
|
10
|
-
* steering input, speed from a throttle curve, and a `driftSlip` fudge factor standing in
|
|
11
|
-
* for lateral dynamics. Those two facts together are why `vehicle dynamics` claimed
|
|
12
|
-
* `exceed` while the car behaved like a sprite sliding on a plane.
|
|
13
|
-
*
|
|
14
|
-
* This module is the missing middle. It takes throttle, brake and steering, asks the tyre
|
|
15
|
-
* model for forces at each axle, and integrates the body's planar state from those forces.
|
|
16
|
-
* That produces the behaviours a kinematic point cannot:
|
|
17
|
-
*
|
|
18
|
-
* - **Understeer**: front slip angle saturates, so the car runs wide of where it is pointed.
|
|
19
|
-
* - **Wheelspin**: excess drive torque exceeds available longitudinal grip.
|
|
20
|
-
* - **Weight transfer**: braking loads the front axle and unloads the rear.
|
|
21
|
-
* - **Grip sensitivity**: a low-grip surface reduces available force rather than being a
|
|
22
|
-
* cosmetic multiplier on a scripted speed.
|
|
23
|
-
*/
|
|
24
|
-
export interface VehicleMotionSpec {
|
|
25
|
-
/** Total mass in kilograms. */
|
|
26
|
-
readonly mass: number;
|
|
27
|
-
/** Distance between axles, world units. */
|
|
28
|
-
readonly wheelbase: number;
|
|
29
|
-
/** Fraction of the wheelbase from the front axle to the centre of mass, 0..1. */
|
|
30
|
-
readonly frontWeightBias?: number | undefined;
|
|
31
|
-
/** Centre-of-mass height, which sets how much load transfers under braking. */
|
|
32
|
-
readonly centreOfMassHeight?: number | undefined;
|
|
33
|
-
/** Peak steering angle at the roadwheel, radians. */
|
|
34
|
-
readonly maxSteerAngle?: number | undefined;
|
|
35
|
-
/** Drive force at full throttle, newtons. */
|
|
36
|
-
readonly driveForce?: number | undefined;
|
|
37
|
-
/** Brake force at full brake, newtons. */
|
|
38
|
-
readonly brakeForce?: number | undefined;
|
|
39
|
-
/** Tyre compound. */
|
|
40
|
-
readonly tirePreset?: PacejkaTirePreset | undefined;
|
|
41
|
-
/** Aerodynamic drag coefficient, lumped. */
|
|
42
|
-
readonly dragCoefficient?: number | undefined;
|
|
43
|
-
/** Rolling resistance coefficient. */
|
|
44
|
-
readonly rollingResistance?: number | undefined;
|
|
45
|
-
/** Yaw inertia. Defaults to a plausible value derived from mass and wheelbase. */
|
|
46
|
-
readonly yawInertia?: number | undefined;
|
|
47
|
-
/**
|
|
48
|
-
* Gravitational acceleration expressed in the same length unit as `wheelbase` and the
|
|
49
|
-
* positions this integrator reports, per second squared. Defaults to `9.81`.
|
|
50
|
-
*
|
|
51
|
-
* This exists because gravity is the only place a force model silently assumes a length
|
|
52
|
-
* unit. Every corner speed this model can hold is bounded by `sqrt(mu * gravity * radius)`,
|
|
53
|
-
* so hardcoding 9.81 does not mean "SI" — it means "one world unit is one metre", and it
|
|
54
|
-
* makes the integrator unusable for any route authored at another scale. A circuit authored
|
|
55
|
-
* in game units where one unit is 0.352 scene units has an effective gravity of
|
|
56
|
-
* `9.81 / 0.352`, and with 9.81 assumed instead the same geometry demands roughly 2.8x the
|
|
57
|
-
* lateral grip that physically exists. The car then understeers off the outside of every
|
|
58
|
-
* corner, which reads as "the physics is broken" when the real fault is that the caller was
|
|
59
|
-
* never given a way to state its units.
|
|
60
|
-
*
|
|
61
|
-
* Pass `sceneGravity / sceneUnitsPerWorldUnit` to run in authored units.
|
|
62
|
-
*/
|
|
63
|
-
readonly gravity?: number | undefined;
|
|
64
|
-
}
|
|
65
|
-
export interface VehicleMotionInput {
|
|
66
|
-
/** 0..1 */
|
|
67
|
-
readonly throttle?: number | undefined;
|
|
68
|
-
/** 0..1 */
|
|
69
|
-
readonly brake?: number | undefined;
|
|
70
|
-
/** -1..1, scaled by `maxSteerAngle`. */
|
|
71
|
-
readonly steer?: number | undefined;
|
|
72
|
-
/** 0..1 grip multiplier from the surface under the car. */
|
|
73
|
-
readonly grip?: number | undefined;
|
|
74
|
-
/** Handbrake locks the rear axle, which is how a drift is initiated. */
|
|
75
|
-
readonly handbrake?: boolean | undefined;
|
|
76
|
-
}
|
|
77
|
-
export interface VehicleMotionState {
|
|
78
|
-
readonly x: number;
|
|
79
|
-
readonly z: number;
|
|
80
|
-
readonly heading: number;
|
|
81
|
-
/** Forward speed in the body frame. */
|
|
82
|
-
readonly speed: number;
|
|
83
|
-
/** Lateral speed in the body frame. Non-zero means the car is sliding. */
|
|
84
|
-
readonly lateralSpeed: number;
|
|
85
|
-
readonly yawRate: number;
|
|
86
|
-
}
|
|
87
|
-
export interface VehicleMotionSample extends VehicleMotionState {
|
|
88
|
-
/** Slip angle at the front axle, radians. */
|
|
89
|
-
readonly frontSlipAngle: number;
|
|
90
|
-
readonly rearSlipAngle: number;
|
|
91
|
-
/** Longitudinal slip ratio at the driven axle. */
|
|
92
|
-
readonly slipRatio: number;
|
|
93
|
-
/** True when drive torque exceeds available longitudinal grip. */
|
|
94
|
-
readonly wheelspin: boolean;
|
|
95
|
-
/**
|
|
96
|
-
* True when the front tyres have saturated, so the car runs wide of its heading.
|
|
97
|
-
*
|
|
98
|
-
* This is the diagnostic a kinematic model cannot produce: with heading integrated
|
|
99
|
-
* directly from steering input, the car always goes exactly where it points.
|
|
100
|
-
*/
|
|
101
|
-
readonly understeering: boolean;
|
|
102
|
-
readonly oversteering: boolean;
|
|
103
|
-
/** Normal load per axle in newtons, after transfer. */
|
|
104
|
-
readonly frontLoad: number;
|
|
105
|
-
readonly rearLoad: number;
|
|
106
|
-
/** Total lateral acceleration in g, the number a driver actually feels. */
|
|
107
|
-
readonly lateralG: number;
|
|
108
|
-
}
|
|
109
|
-
export interface VehicleMotionIntegrator {
|
|
110
|
-
readonly kind: "aura-vehicle-motion";
|
|
111
|
-
readonly spec: Required<Omit<VehicleMotionSpec, never>>;
|
|
112
|
-
step(dt: number, input: VehicleMotionInput): VehicleMotionSample;
|
|
113
|
-
/**
|
|
114
|
-
* The current state, including the derived tyre and load diagnostics from the last step.
|
|
115
|
-
*
|
|
116
|
-
* This returns the full sample rather than the bare pose: a caller reading `state()` before
|
|
117
|
-
* its first `step()` still needs `lateralG`, `frontLoad` and the slip angles to drive a HUD
|
|
118
|
-
* or a camera, and narrowing the return type forced route code to either cast or duplicate
|
|
119
|
-
* the derived maths locally.
|
|
120
|
-
*/
|
|
121
|
-
state(): VehicleMotionSample;
|
|
122
|
-
reset(state?: Partial<VehicleMotionState>): VehicleMotionSample;
|
|
123
|
-
}
|
|
124
|
-
export declare function createVehicleMotion(spec: VehicleMotionSpec): VehicleMotionIntegrator;
|
|
125
|
-
//# sourceMappingURL=VehicleMotion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VehicleMotion.d.ts","sourceRoot":"","sources":["../../../../packages/physics/src/VehicleMotion.ts"],"names":[],"mappings":"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"}
|