@aura3d/engine 1.5.2 → 2.0.1
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 +163 -119
- package/dist/animation/FootIk.d.ts +10 -1
- package/dist/animation/FootIk.d.ts.map +1 -1
- package/dist/animation/FootIk.js.map +1 -1
- package/dist/animation/HumanoidRetargeting.js +1 -1
- package/dist/animation/RigQuality.d.ts +1 -1
- package/dist/animation/RigQuality.js +2 -2
- package/dist/animation/RigQuality.js.map +1 -1
- package/dist/animation/SpringBones.d.ts.map +1 -1
- package/dist/animation/SpringBones.js +1 -2
- package/dist/animation/SpringBones.js.map +1 -1
- package/dist/animation/browser-index.d.ts +0 -2
- package/dist/animation/browser-index.d.ts.map +1 -1
- package/dist/animation/browser-index.js +0 -2
- package/dist/animation/browser-index.js.map +1 -1
- package/dist/animation/index.d.ts +0 -2
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +0 -2
- package/dist/animation/index.js.map +1 -1
- 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 +2 -2
- package/dist/assets/GLTFAnimationRuntime.d.ts +7 -3
- package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.js +29 -6
- package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
- 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 +13 -4
- 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 -49
- package/dist/assets/browser-index.d.ts.map +1 -1
- package/dist/assets/browser-index.js +0 -2
- package/dist/assets/browser-index.js.map +1 -1
- package/dist/assets/createRenderableScene.d.ts +4 -4
- package/dist/assets/gltf-runtime.d.ts +6 -0
- package/dist/assets/gltf-runtime.d.ts.map +1 -0
- package/dist/assets/gltf-runtime.js +4 -0
- package/dist/assets/gltf-runtime.js.map +1 -0
- package/dist/assets/index.d.ts +76 -80
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +0 -2
- package/dist/assets/index.js.map +1 -1
- 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 +20 -2
- package/dist/audio/AudioBus.d.ts.map +1 -1
- package/dist/audio/AudioBus.js.map +1 -1
- package/dist/audio/AudioFileManager.d.ts +7 -2
- package/dist/audio/AudioFileManager.d.ts.map +1 -1
- package/dist/audio/AudioFileManager.js +13 -0
- package/dist/audio/AudioFileManager.js.map +1 -1
- package/dist/audio/AudioMixer.d.ts +2 -2
- package/dist/audio/AudioSource.d.ts +10 -2
- package/dist/audio/AudioSource.d.ts.map +1 -1
- package/dist/audio/AudioSource.js +56 -7
- package/dist/audio/AudioSource.js.map +1 -1
- 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 -31
- package/dist/audio/index.d.ts.map +1 -1
- package/dist/audio/index.js +0 -3
- package/dist/audio/index.js.map +1 -1
- package/dist/aura3d-cli/animation-asset-profiles.d.ts +1 -1
- package/dist/aura3d-cli/asset-core-types.d.ts +1 -1
- package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
- package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
- package/dist/aura3d-cli/asset-manifest.js +36 -2
- package/dist/aura3d-cli/asset-manifest.js.map +1 -1
- package/dist/aura3d-cli/asset-role-admission.js +1 -1
- package/dist/aura3d-cli/asset-role-admission.js.map +1 -1
- package/dist/aura3d-cli/cli-help.js +3 -3
- package/dist/aura3d-cli/cli-help.js.map +1 -1
- package/dist/aura3d-cli/cli-options.d.ts +1 -1
- package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
- package/dist/aura3d-cli/cli-options.js +2 -2
- package/dist/aura3d-cli/cli-options.js.map +1 -1
- package/dist/aura3d-cli/cli.js +1 -1
- package/dist/aura3d-cli/cli.js.map +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/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +13 -5
- package/dist/aura3d-cli/index.js.map +1 -1
- 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/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +10 -4
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-evidence.js +5 -1
- package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +8 -1
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +191 -31
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-template-evidence.js +7 -0
- package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-parser.js +1 -1
- package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-types.d.ts +50 -0
- package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
- 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 -81
- package/dist/editor-runtime/index.d.ts.map +1 -1
- package/dist/editor-runtime/index.js +0 -1
- package/dist/editor-runtime/index.js.map +1 -1
- 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/GameAssetValidation.js +1 -1
- package/dist/engine/agent-api/GameAssetValidation.js.map +1 -1
- package/dist/engine/agent-api/GameEvidence.d.ts +1 -1
- package/dist/engine/agent-api/GameEvidence.js +1 -1
- package/dist/engine/agent-api/GameEvidence.js.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.d.ts +73 -0
- package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.js +298 -56
- package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
- package/dist/engine/agent-api/GameRuntime.d.ts +49 -1
- package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
- package/dist/engine/agent-api/GameRuntime.js +87 -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 +25 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js +52 -0
- 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 +332 -0
- package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -0
- package/dist/engine/agent-api/PhysicsRuntime.js +619 -0
- package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -0
- package/dist/engine/agent-api/PlatformerMotion.d.ts +124 -0
- package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -1
- package/dist/engine/agent-api/PlatformerMotion.js +101 -16
- package/dist/engine/agent-api/PlatformerMotion.js.map +1 -1
- package/dist/engine/agent-api/RootGeometry.d.ts +36 -0
- package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -0
- package/dist/engine/agent-api/RootGeometry.js +152 -0
- package/dist/engine/agent-api/RootGeometry.js.map +1 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +1 -1
- package/dist/engine/agent-api/VehicleChassis.d.ts +52 -0
- package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
- package/dist/engine/agent-api/VehicleChassis.js +182 -8
- package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts +65 -1
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
- package/dist/engine/agent-api/WorldLabelRenderer.js +48 -5
- package/dist/engine/agent-api/WorldLabelRenderer.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/humanoid-walk-runtime.d.ts +1 -1
- package/dist/engine/agent-api/index.d.ts +288 -85
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +1404 -359
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/lean-game.d.ts +3 -0
- package/dist/engine/agent-api/lean-game.d.ts.map +1 -0
- package/dist/engine/agent-api/lean-game.js +3 -0
- package/dist/engine/agent-api/lean-game.js.map +1 -0
- package/dist/engine/agent-api/lean-product.d.ts +3 -0
- package/dist/engine/agent-api/lean-product.d.ts.map +1 -0
- package/dist/engine/agent-api/lean-product.js +3 -0
- package/dist/engine/agent-api/lean-product.js.map +1 -0
- package/dist/engine/agent-api/lean.d.ts +3 -0
- package/dist/engine/agent-api/lean.d.ts.map +1 -0
- package/dist/engine/agent-api/lean.js +3 -0
- package/dist/engine/agent-api/lean.js.map +1 -0
- package/dist/engine/agent-api/media-node.d.ts +42 -0
- package/dist/engine/agent-api/media-node.d.ts.map +1 -0
- package/dist/engine/agent-api/media-node.js +44 -0
- package/dist/engine/agent-api/media-node.js.map +1 -0
- 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 +5 -0
- package/dist/engine/game/GameAudio.d.ts.map +1 -1
- package/dist/engine/game/GameAudio.js +65 -23
- package/dist/engine/game/GameAudio.js.map +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 +11 -3
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +25 -7
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/engine/production-runtime/index.d.ts +10 -10
- package/dist/engine/production-runtime/index.d.ts.map +1 -1
- package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +3 -3
- package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -1
- 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/index.d.ts +5 -10
- package/dist/environments/index.d.ts.map +1 -1
- package/dist/environments/index.js +0 -3
- package/dist/environments/index.js.map +1 -1
- package/dist/environments/node.d.ts +7 -0
- package/dist/environments/node.d.ts.map +1 -0
- package/dist/environments/node.js +5 -0
- package/dist/environments/node.js.map +1 -0
- package/dist/environments/production-runtime/index.d.ts +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- 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/InputValueProcessors.d.ts +19 -0
- package/dist/input/InputValueProcessors.d.ts.map +1 -0
- package/dist/input/InputValueProcessors.js +24 -0
- package/dist/input/InputValueProcessors.js.map +1 -0
- 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 -43
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +1 -3
- package/dist/input/index.js.map +1 -1
- package/dist/lean/ArcadeRuntime.d.ts +111 -0
- package/dist/lean/ArcadeRuntime.d.ts.map +1 -0
- package/dist/lean/ArcadeRuntime.js +219 -0
- package/dist/lean/ArcadeRuntime.js.map +1 -0
- package/dist/lean/base.d.ts +228 -0
- package/dist/lean/base.d.ts.map +1 -0
- package/dist/lean/base.js +322 -0
- package/dist/lean/base.js.map +1 -0
- package/dist/lean/game.d.ts +19 -0
- package/dist/lean/game.d.ts.map +1 -0
- package/dist/lean/game.js +37 -0
- package/dist/lean/game.js.map +1 -0
- package/dist/lean/index.d.ts +4 -0
- package/dist/lean/index.d.ts.map +1 -0
- package/dist/lean/index.js +10 -0
- package/dist/lean/index.js.map +1 -0
- package/dist/lean/product.d.ts +4 -0
- package/dist/lean/product.d.ts.map +1 -0
- package/dist/lean/product.js +55 -0
- package/dist/lean/product.js.map +1 -0
- 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/materials/index.d.ts +1 -10
- package/dist/materials/index.d.ts.map +1 -1
- package/dist/materials/index.js +1 -6
- package/dist/materials/index.js.map +1 -1
- package/dist/materials/node.d.ts +4 -0
- package/dist/materials/node.d.ts.map +1 -0
- package/dist/materials/node.js +3 -0
- package/dist/materials/node.js.map +1 -0
- package/dist/physics/ArcadeCharacterController.d.ts +53 -0
- package/dist/physics/ArcadeCharacterController.d.ts.map +1 -0
- package/dist/physics/ArcadeCharacterController.js +98 -0
- package/dist/physics/ArcadeCharacterController.js.map +1 -0
- package/dist/physics/{VehicleDynamics.d.ts → ArcadeVehicleTelemetry.d.ts} +14 -4
- package/dist/physics/ArcadeVehicleTelemetry.d.ts.map +1 -0
- package/dist/physics/{VehicleDynamics.js → ArcadeVehicleTelemetry.js} +37 -9
- package/dist/physics/ArcadeVehicleTelemetry.js.map +1 -0
- package/dist/physics/Constraint.d.ts +20 -4
- package/dist/physics/Constraint.d.ts.map +1 -1
- package/dist/physics/Constraint.js +34 -60
- package/dist/physics/Constraint.js.map +1 -1
- package/dist/physics/FightingCharacterController.d.ts +32 -0
- package/dist/physics/FightingCharacterController.d.ts.map +1 -0
- package/dist/physics/FightingCharacterController.js +76 -0
- package/dist/physics/FightingCharacterController.js.map +1 -0
- package/dist/physics/MeshBVH.d.ts +72 -0
- package/dist/physics/MeshBVH.d.ts.map +1 -0
- package/dist/physics/MeshBVH.js +244 -0
- package/dist/physics/MeshBVH.js.map +1 -0
- package/dist/physics/PhysicsDebugDraw.d.ts +40 -1
- package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
- package/dist/physics/PhysicsDebugDraw.js +87 -17
- package/dist/physics/PhysicsDebugDraw.js.map +1 -1
- package/dist/physics/PhysicsWorld.d.ts +37 -18
- package/dist/physics/PhysicsWorld.d.ts.map +1 -1
- package/dist/physics/PhysicsWorld.js +231 -630
- package/dist/physics/PhysicsWorld.js.map +1 -1
- package/dist/physics/Raycast.d.ts +11 -0
- package/dist/physics/Raycast.d.ts.map +1 -1
- package/dist/physics/Raycast.js +62 -8
- package/dist/physics/Raycast.js.map +1 -1
- package/dist/physics/RigidBody.d.ts +16 -9
- package/dist/physics/RigidBody.d.ts.map +1 -1
- package/dist/physics/RigidBody.js +23 -75
- package/dist/physics/RigidBody.js.map +1 -1
- package/dist/physics/SurfaceQuery.d.ts +72 -0
- package/dist/physics/SurfaceQuery.d.ts.map +1 -0
- package/dist/physics/SurfaceQuery.js +89 -0
- package/dist/physics/SurfaceQuery.js.map +1 -0
- package/dist/physics/index.d.ts +62 -17
- package/dist/physics/index.d.ts.map +1 -1
- package/dist/physics/index.js +70 -17
- package/dist/physics/index.js.map +1 -1
- package/dist/physics/solverless.d.ts +37 -0
- package/dist/physics/solverless.d.ts.map +1 -0
- package/dist/physics/solverless.js +36 -0
- package/dist/physics/solverless.js.map +1 -0
- package/dist/physics/world.d.ts +18 -0
- package/dist/physics/world.d.ts.map +1 -0
- package/dist/physics/world.js +17 -0
- package/dist/physics/world.js.map +1 -0
- package/dist/physics-rapier/index.d.ts +169 -0
- package/dist/physics-rapier/index.d.ts.map +1 -0
- package/dist/physics-rapier/index.js +311 -0
- package/dist/physics-rapier/index.js.map +1 -0
- 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/ProductLighting.d.ts.map +1 -1
- package/dist/product-studio/ProductLighting.js +34 -3
- package/dist/product-studio/ProductLighting.js.map +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/ArchitecturalLighting.d.ts +35 -0
- package/dist/rendering/ArchitecturalLighting.d.ts.map +1 -0
- package/dist/rendering/{ArchitecturalLightingFixtures.js → ArchitecturalLighting.js} +3 -12
- package/dist/rendering/ArchitecturalLighting.js.map +1 -0
- package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +3 -3
- package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -1
- package/dist/rendering/ArchitecturalMaterialCatalog.js +1 -1
- package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -1
- package/dist/rendering/{ArchitecturalMeasurementFixtures.d.ts → ArchitecturalMeasurement.d.ts} +3 -6
- package/dist/rendering/ArchitecturalMeasurement.d.ts.map +1 -0
- package/dist/rendering/{ArchitecturalMeasurementFixtures.js → ArchitecturalMeasurement.js} +3 -6
- package/dist/rendering/ArchitecturalMeasurement.js.map +1 -0
- package/dist/rendering/CameraFraming.d.ts +1 -1
- package/dist/rendering/{CanonicalSceneFixtures.d.ts → CanonicalProductScene.d.ts} +2 -2
- package/dist/rendering/CanonicalProductScene.d.ts.map +1 -0
- package/dist/rendering/{CanonicalSceneFixtures.js → CanonicalProductScene.js} +2 -2
- package/dist/rendering/CanonicalProductScene.js.map +1 -0
- package/dist/rendering/CascadedShadowMaps.d.ts +8 -8
- package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
- package/dist/rendering/CascadedShadowMaps.js +1 -1
- package/dist/rendering/CascadedShadowMaps.js.map +1 -1
- 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/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +2 -2
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/EnvironmentBackgroundPass.d.ts +4 -4
- package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -1
- package/dist/rendering/EnvironmentBackgroundPass.js +2 -2
- package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -1
- 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/EnvironmentPlatform.js +2 -2
- package/dist/rendering/EnvironmentPlatform.js.map +1 -1
- 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/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +24 -10
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/Geometry.d.ts +5 -3
- package/dist/rendering/Geometry.d.ts.map +1 -1
- package/dist/rendering/Geometry.js +15 -0
- package/dist/rendering/Geometry.js.map +1 -1
- 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/InstancedPBRMaterial.js +1 -1
- package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
- package/dist/rendering/InstancedUnlitMaterial.d.ts +1 -1
- package/dist/rendering/InstancedUnlitMaterial.js +1 -1
- package/dist/rendering/InstancedUnlitMaterial.js.map +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/Material.js +2 -2
- package/dist/rendering/Material.js.map +1 -1
- package/dist/rendering/MaterialBinding.d.ts +3 -3
- package/dist/rendering/MaterialBinding.js +4 -4
- package/dist/rendering/MaterialBinding.js.map +1 -1
- package/dist/rendering/MaterialInstance.d.ts +2 -2
- package/dist/rendering/MaterialInstance.js +2 -2
- package/dist/rendering/MaterialInstance.js.map +1 -1
- 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/MorphUnlitMaterial.js +1 -1
- package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
- package/dist/rendering/NormalMappedPBRMaterial.d.ts +4 -4
- package/dist/rendering/NormalMappedPBRMaterial.js +1 -1
- package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
- package/dist/rendering/{OceanFixtures.d.ts → OceanSurface.d.ts} +1 -1
- package/dist/rendering/OceanSurface.d.ts.map +1 -0
- package/dist/rendering/{OceanFixtures.js → OceanSurface.js} +1 -1
- package/dist/rendering/OceanSurface.js.map +1 -0
- package/dist/rendering/PBRLightingDefaults.d.ts +1 -1
- package/dist/rendering/PBRMaterial.d.ts +2 -2
- package/dist/rendering/PBRMaterial.d.ts.map +1 -1
- package/dist/rendering/PBRMaterial.js +3 -3
- package/dist/rendering/PBRMaterial.js.map +1 -1
- package/dist/rendering/PMREM.d.ts +2 -2
- package/dist/rendering/PortableShaderMaterial.d.ts +60 -0
- package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/PortableShaderMaterial.js +223 -0
- package/dist/rendering/PortableShaderMaterial.js.map +1 -0
- package/dist/rendering/PostProcessPass.d.ts +2 -2
- package/dist/rendering/PostProcessPass.d.ts.map +1 -1
- package/dist/rendering/PostProcessPass.js +30 -6
- package/dist/rendering/PostProcessPass.js.map +1 -1
- package/dist/rendering/{ProceduralTextureFixtures.d.ts → ProceduralTexture.d.ts} +2 -2
- package/dist/rendering/ProceduralTexture.d.ts.map +1 -0
- package/dist/rendering/{ProceduralTextureFixtures.js → ProceduralTexture.js} +1 -1
- package/dist/rendering/ProceduralTexture.js.map +1 -0
- package/dist/rendering/{ProductTurntableFixtures.d.ts → ProductTurntable.d.ts} +4 -4
- package/dist/rendering/ProductTurntable.d.ts.map +1 -0
- package/dist/rendering/{ProductTurntableFixtures.js → ProductTurntable.js} +2 -2
- package/dist/rendering/ProductTurntable.js.map +1 -0
- 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 +36 -6
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js.map +1 -1
- 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 +17 -16
- package/dist/rendering/Renderer.d.ts.map +1 -1
- package/dist/rendering/Renderer.js +23 -9
- package/dist/rendering/Renderer.js.map +1 -1
- package/dist/rendering/RendererFeatureGates.d.ts +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +4 -4
- package/dist/rendering/RendererPostprocessPlan.js.map +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/ScreenSpaceLineMaterial.js +1 -1
- package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -1
- package/dist/rendering/ShaderChunks.d.ts.map +1 -1
- package/dist/rendering/ShaderChunks.js +92 -24
- package/dist/rendering/ShaderChunks.js.map +1 -1
- package/dist/rendering/ShaderLibrary.d.ts +2 -78
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +103 -810
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/ShaderLibraryCore.d.ts +100 -0
- package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -0
- package/dist/rendering/ShaderLibraryCore.js +792 -0
- package/dist/rendering/ShaderLibraryCore.js.map +1 -0
- package/dist/rendering/ShaderModule.d.ts +3 -3
- package/dist/rendering/ShaderModule.d.ts.map +1 -1
- package/dist/rendering/ShaderModule.js +4 -2
- package/dist/rendering/ShaderModule.js.map +1 -1
- 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/ShadowPass.d.ts.map +1 -1
- package/dist/rendering/ShadowPass.js +6 -4
- package/dist/rendering/ShadowPass.js.map +1 -1
- package/dist/rendering/ShadowProjection.d.ts +1 -1
- package/dist/rendering/SkinnedLitMaterial.d.ts +3 -3
- package/dist/rendering/SkinnedLitMaterial.js +1 -1
- package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
- package/dist/rendering/SkinnedUnlitMaterial.d.ts +1 -1
- package/dist/rendering/SkinnedUnlitMaterial.js +1 -1
- package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
- package/dist/rendering/SkinningBounds.d.ts +2 -2
- package/dist/rendering/{SpaceEnvironmentFixtures.d.ts → SpaceEnvironment.d.ts} +4 -9
- package/dist/rendering/SpaceEnvironment.d.ts.map +1 -0
- package/dist/rendering/{SpaceEnvironmentFixtures.js → SpaceEnvironment.js} +6 -22
- package/dist/rendering/SpaceEnvironment.js.map +1 -0
- 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/{TerrainFixtures.d.ts → TerrainHeightfield.d.ts} +2 -2
- package/dist/rendering/TerrainHeightfield.d.ts.map +1 -0
- package/dist/rendering/{TerrainFixtures.js → TerrainHeightfield.js} +1 -1
- package/dist/rendering/TerrainHeightfield.js.map +1 -0
- package/dist/rendering/TextureBinding.d.ts +16 -2
- package/dist/rendering/TextureBinding.d.ts.map +1 -1
- package/dist/rendering/TextureBinding.js +17 -0
- package/dist/rendering/TextureBinding.js.map +1 -1
- package/dist/rendering/TexturedPBRMaterial.d.ts +4 -4
- package/dist/rendering/TexturedPBRMaterial.js +1 -1
- package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
- package/dist/rendering/TexturedUnlitMaterial.d.ts +3 -3
- package/dist/rendering/TexturedUnlitMaterial.js +1 -1
- package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
- 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/UnlitMaterial.js +1 -1
- package/dist/rendering/UnlitMaterial.js.map +1 -1
- package/dist/rendering/{VegetationFixtures.d.ts → VegetationScatter.d.ts} +2 -2
- package/dist/rendering/VegetationScatter.d.ts.map +1 -0
- package/dist/rendering/{VegetationFixtures.js → VegetationScatter.js} +2 -2
- package/dist/rendering/VegetationScatter.js.map +1 -0
- package/dist/rendering/VertexBuffer.d.ts +2 -2
- package/dist/rendering/{VoxelWorldFixtures.d.ts → VoxelWorld.d.ts} +12 -15
- package/dist/rendering/VoxelWorld.d.ts.map +1 -0
- package/dist/rendering/{VoxelWorldFixtures.js → VoxelWorld.js} +6 -9
- package/dist/rendering/VoxelWorld.js.map +1 -0
- package/dist/rendering/{WeatherFixtures.d.ts → Weather.d.ts} +7 -9
- package/dist/rendering/Weather.d.ts.map +1 -0
- package/dist/rendering/{WeatherFixtures.js → Weather.js} +5 -7
- package/dist/rendering/Weather.js.map +1 -0
- package/dist/rendering/WebGL2Device.d.ts +23 -1
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +134 -23
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +20 -3
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
- package/dist/rendering/WebGPUDevice.js +188 -9
- package/dist/rendering/WebGPUDevice.js.map +1 -1
- 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 -237
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +35 -19
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/lean/LeanProductRenderer.d.ts +29 -0
- package/dist/rendering/lean/LeanProductRenderer.d.ts.map +1 -0
- package/dist/rendering/lean/LeanProductRenderer.js +38 -0
- package/dist/rendering/lean/LeanProductRenderer.js.map +1 -0
- package/dist/rendering/lean/LeanProductionRenderer.d.ts +38 -0
- package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -0
- package/dist/rendering/lean/LeanProductionRenderer.js +88 -0
- package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -0
- package/dist/rendering/lean-runtime.d.ts +18 -0
- package/dist/rendering/lean-runtime.d.ts.map +1 -0
- package/dist/rendering/lean-runtime.js +13 -0
- package/dist/rendering/lean-runtime.js.map +1 -0
- 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/EffectComposer.d.ts.map +1 -1
- package/dist/rendering/postprocess/EffectComposer.js +1 -3
- package/dist/rendering/postprocess/EffectComposer.js.map +1 -1
- 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/PBRHDRPipeline.d.ts.map +1 -1
- package/dist/rendering/production-runtime/PBRHDRPipeline.js +5 -1
- package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts +2 -2
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +11 -2
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +8 -3
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +53 -5
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +14 -4
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +21 -2
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +4 -4
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +4 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
- 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 +25 -0
- package/dist/rendering/webgpu.d.ts.map +1 -0
- package/dist/rendering/webgpu.js +24 -0
- package/dist/rendering/webgpu.js.map +1 -0
- 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 +2 -1
- package/dist/scene/MathTypes.d.ts.map +1 -1
- package/dist/scene/MathTypes.js +3 -0
- package/dist/scene/MathTypes.js.map +1 -1
- package/dist/scene/Renderable.d.ts +6 -0
- package/dist/scene/Renderable.d.ts.map +1 -1
- package/dist/scene/Renderable.js +8 -2
- package/dist/scene/Renderable.js.map +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 -53
- package/dist/scripting/index.d.ts.map +1 -1
- package/dist/scripting/index.js +0 -8
- package/dist/scripting/index.js.map +1 -1
- 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/ProductionExampleRuntime.d.ts.map +1 -1
- package/dist/workflows/production-runtime/ProductionExampleRuntime.js +2 -2
- package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -1
- package/dist/workflows/production-runtime/index.d.ts +10 -10
- package/dist/workflows/workflow-foundation/index.d.ts +16 -16
- package/package.json +157 -40
- package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
- package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
- package/templates/cinematic-scene/package.json +1 -1
- package/templates/cinematic-scene/test-results/.last-run.json +6 -0
- package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
- package/templates/mini-game/README.md +3 -2
- package/templates/mini-game/package.json +1 -1
- package/templates/mini-game/src/aura-assets.ts +1 -1
- package/templates/mini-game/src/main.ts +69 -141
- package/templates/product-viewer/README.md +7 -5
- package/templates/product-viewer/index.html +1 -1
- package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
- package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
- package/templates/product-viewer/package.json +1 -1
- package/templates/product-viewer/src/aura-assets.ts +1 -1
- package/templates/product-viewer/src/main.ts +29 -23
- 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/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/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/InputActionBindingFixtures.d.ts +0 -44
- package/dist/input/InputActionBindingFixtures.d.ts.map +0 -1
- package/dist/input/InputActionBindingFixtures.js +0 -86
- 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 -83
- package/dist/physics/CharacterController.d.ts.map +0 -1
- package/dist/physics/CharacterController.js +0 -236
- 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/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/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.map +0 -1
- package/dist/physics/VehicleDynamics.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.map +0 -1
- package/dist/rendering/ArchitecturalMeasurementFixtures.d.ts.map +0 -1
- package/dist/rendering/ArchitecturalMeasurementFixtures.js.map +0 -1
- package/dist/rendering/CanonicalSceneFixtures.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/rendering/OceanFixtures.js.map +0 -1
- package/dist/rendering/ProceduralTextureFixtures.d.ts.map +0 -1
- package/dist/rendering/ProceduralTextureFixtures.js.map +0 -1
- package/dist/rendering/ProductTurntableFixtures.d.ts.map +0 -1
- package/dist/rendering/ProductTurntableFixtures.js.map +0 -1
- package/dist/rendering/SpaceEnvironmentFixtures.d.ts.map +0 -1
- package/dist/rendering/SpaceEnvironmentFixtures.js.map +0 -1
- package/dist/rendering/TerrainFixtures.d.ts.map +0 -1
- package/dist/rendering/TerrainFixtures.js.map +0 -1
- package/dist/rendering/VegetationFixtures.d.ts.map +0 -1
- package/dist/rendering/VegetationFixtures.js.map +0 -1
- package/dist/rendering/VoxelWorldFixtures.d.ts.map +0 -1
- package/dist/rendering/VoxelWorldFixtures.js.map +0 -1
- package/dist/rendering/WeatherFixtures.d.ts.map +0 -1
- 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/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
|
@@ -36,6 +36,8 @@ export interface VehicleSurfaceSample {
|
|
|
36
36
|
readonly normal?: VehicleVec3 | undefined;
|
|
37
37
|
/** Grip multiplier, 1 on tarmac and lower off-track. */
|
|
38
38
|
readonly grip?: number | undefined;
|
|
39
|
+
/** False when no real surface exists under the complete contact patch. */
|
|
40
|
+
readonly hit?: boolean | undefined;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* Surface the vehicle drives on.
|
|
@@ -50,6 +52,35 @@ export interface VehicleSurface {
|
|
|
50
52
|
}
|
|
51
53
|
/** Flat surface at a fixed height, for prototypes and tests. */
|
|
52
54
|
export declare function flatVehicleSurface(height?: number, grip?: number): VehicleSurface;
|
|
55
|
+
/**
|
|
56
|
+
* Vehicle surface backed by the real track mesh.
|
|
57
|
+
*
|
|
58
|
+
* This is the replacement for the analytic surface every racing route had to invent.
|
|
59
|
+
* Turbo Drift's was `TRACK_SURFACE_Y - VERGE_DROP * shoulderFraction`: one frozen scalar
|
|
60
|
+
* plus a hand-graded shoulder. That model cannot represent banking, crowning, kerbs or
|
|
61
|
+
* elevation change, so the car's tyres passed through the visible road on corners, and
|
|
62
|
+
* it silently became wrong whenever the track asset changed.
|
|
63
|
+
*
|
|
64
|
+
* Grip comes from the surface query's per-triangle map, so "the tarmac grips and the
|
|
65
|
+
* grass does not" is a property of the mesh rather than a distance-from-centreline
|
|
66
|
+
* formula that has to be re-derived per circuit.
|
|
67
|
+
*/
|
|
68
|
+
export declare function meshVehicleSurface(query: {
|
|
69
|
+
sample(x: number, z: number): {
|
|
70
|
+
readonly height: number;
|
|
71
|
+
readonly normal: readonly [number, number, number];
|
|
72
|
+
readonly grip: number;
|
|
73
|
+
readonly hit: boolean;
|
|
74
|
+
};
|
|
75
|
+
}, options?: {
|
|
76
|
+
readonly offRoadGrip?: number | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Radius of the tyre contact patch in world units. A wheel is not a zero-area ray:
|
|
79
|
+
* when the centre ray lands in a small triangle seam, nearby road within this radius
|
|
80
|
+
* still supports the tyre.
|
|
81
|
+
*/
|
|
82
|
+
readonly contactPatchRadius?: number | undefined;
|
|
83
|
+
}): VehicleSurface;
|
|
53
84
|
export interface VehicleChassisSpec {
|
|
54
85
|
/** Distance between front and rear axles, world units. */
|
|
55
86
|
readonly wheelbase: number;
|
|
@@ -64,6 +95,12 @@ export interface VehicleChassisSpec {
|
|
|
64
95
|
readonly rideHeight: number;
|
|
65
96
|
/** Suspension travel available above and below rest, world units. */
|
|
66
97
|
readonly suspensionTravel?: number | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Maximum additional reach supplied by tyre deformation at the contact patch.
|
|
100
|
+
* This is separate from suspension travel: a compliant tyre seats against small
|
|
101
|
+
* mesh height discontinuities while a real drop still leaves the wheel airborne.
|
|
102
|
+
*/
|
|
103
|
+
readonly contactTolerance?: number | undefined;
|
|
67
104
|
/**
|
|
68
105
|
* Spring stiffness as a normalized rate. Higher is firmer: the chassis resists
|
|
69
106
|
* pitch and roll more and settles faster.
|
|
@@ -141,6 +178,21 @@ export interface VehiclePose {
|
|
|
141
178
|
/** Mean suspension compression across all four wheels. */
|
|
142
179
|
readonly averageCompression: number;
|
|
143
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Position a bottom-grounded fitted model without rotating its tyres through the road.
|
|
183
|
+
*
|
|
184
|
+
* `groundedPosition` is the physical contact plane. A fitted GLB is translated so its
|
|
185
|
+
* lowest local Y sits on that plane, but pitch and roll are then applied around the
|
|
186
|
+
* model node's pivot. Without compensation, the downhill edge of that already-grounded
|
|
187
|
+
* box rotates below the plane even though all four chassis contacts remain valid. The
|
|
188
|
+
* required lift is the vertical sweep of the model's half-length and half-width.
|
|
189
|
+
*
|
|
190
|
+
* This is a presentation transform only: wheel contact telemetry and the physical
|
|
191
|
+
* contact plane remain unchanged.
|
|
192
|
+
*/
|
|
193
|
+
export declare function groundedFittedModelPosition(pose: Pick<VehiclePose, "groundedPosition" | "rotation">, fittedSize: VehicleVec3, options?: {
|
|
194
|
+
readonly contactClearance?: number | undefined;
|
|
195
|
+
}): VehicleVec3;
|
|
144
196
|
export interface VehicleChassisTelemetry {
|
|
145
197
|
readonly speed: number;
|
|
146
198
|
readonly speedKph: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VehicleChassis.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/VehicleChassis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VehicleChassis.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/VehicleChassis.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,84 @@
|
|
|
29
29
|
*/
|
|
30
30
|
/** Flat surface at a fixed height, for prototypes and tests. */
|
|
31
31
|
export function flatVehicleSurface(height = 0, grip = 1) {
|
|
32
|
-
return { sample: () => ({ height, normal: [0, 1, 0], grip }) };
|
|
32
|
+
return { sample: () => ({ height, normal: [0, 1, 0], grip, hit: true }) };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Vehicle surface backed by the real track mesh.
|
|
36
|
+
*
|
|
37
|
+
* This is the replacement for the analytic surface every racing route had to invent.
|
|
38
|
+
* Turbo Drift's was `TRACK_SURFACE_Y - VERGE_DROP * shoulderFraction`: one frozen scalar
|
|
39
|
+
* plus a hand-graded shoulder. That model cannot represent banking, crowning, kerbs or
|
|
40
|
+
* elevation change, so the car's tyres passed through the visible road on corners, and
|
|
41
|
+
* it silently became wrong whenever the track asset changed.
|
|
42
|
+
*
|
|
43
|
+
* Grip comes from the surface query's per-triangle map, so "the tarmac grips and the
|
|
44
|
+
* grass does not" is a property of the mesh rather than a distance-from-centreline
|
|
45
|
+
* formula that has to be re-derived per circuit.
|
|
46
|
+
*/
|
|
47
|
+
export function meshVehicleSurface(query, options = {}) {
|
|
48
|
+
const offRoadGrip = options.offRoadGrip ?? 0.45;
|
|
49
|
+
const contactPatchRadius = Math.max(0, options.contactPatchRadius ?? 0);
|
|
50
|
+
return {
|
|
51
|
+
sample: (x, z) => {
|
|
52
|
+
let sample = query.sample(x, z);
|
|
53
|
+
if (!sample.hit && contactPatchRadius > 0) {
|
|
54
|
+
/*
|
|
55
|
+
* Probe the finite patch from near to far. Selecting the highest hit on the
|
|
56
|
+
* first successful ring keeps a tyre on the road surface instead of dropping it
|
|
57
|
+
* to the mesh query's global fallback height, while still reporting a true miss
|
|
58
|
+
* when the whole contact patch has left the mesh.
|
|
59
|
+
*/
|
|
60
|
+
// Sparse extracted meshes do not guarantee that the closest triangle lies
|
|
61
|
+
// on one of eight cardinal/diagonal rays. Probe concentric rings densely
|
|
62
|
+
// enough to represent the complete circular patch rather than 16 isolated
|
|
63
|
+
// points; this still runs only after the centre sample is a genuine miss.
|
|
64
|
+
for (const radius of [0.25, 0.5, 0.75, 1].map((fraction) => contactPatchRadius * fraction)) {
|
|
65
|
+
const hits = Array.from({ length: 16 }, (_, index) => {
|
|
66
|
+
const angle = index * Math.PI / 8;
|
|
67
|
+
return query.sample(x + Math.cos(angle) * radius, z + Math.sin(angle) * radius);
|
|
68
|
+
}).filter((candidate) => candidate.hit);
|
|
69
|
+
if (hits.length > 0) {
|
|
70
|
+
sample = hits.reduce((highest, candidate) => candidate.height > highest.height ? candidate : highest);
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
height: sample.height,
|
|
77
|
+
normal: sample.normal,
|
|
78
|
+
// A point with no triangle under it is off the drivable mesh entirely, which
|
|
79
|
+
// should be slippery rather than silently full-grip.
|
|
80
|
+
grip: sample.hit ? sample.grip : offRoadGrip,
|
|
81
|
+
hit: sample.hit
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Position a bottom-grounded fitted model without rotating its tyres through the road.
|
|
88
|
+
*
|
|
89
|
+
* `groundedPosition` is the physical contact plane. A fitted GLB is translated so its
|
|
90
|
+
* lowest local Y sits on that plane, but pitch and roll are then applied around the
|
|
91
|
+
* model node's pivot. Without compensation, the downhill edge of that already-grounded
|
|
92
|
+
* box rotates below the plane even though all four chassis contacts remain valid. The
|
|
93
|
+
* required lift is the vertical sweep of the model's half-length and half-width.
|
|
94
|
+
*
|
|
95
|
+
* This is a presentation transform only: wheel contact telemetry and the physical
|
|
96
|
+
* contact plane remain unchanged.
|
|
97
|
+
*/
|
|
98
|
+
export function groundedFittedModelPosition(pose, fittedSize, options = {}) {
|
|
99
|
+
const pitchLift = Math.abs(Math.sin(pose.rotation[0])) * Math.abs(fittedSize[2]) / 2;
|
|
100
|
+
const rollLift = Math.abs(Math.sin(pose.rotation[2])) * Math.abs(fittedSize[0]) / 2;
|
|
101
|
+
// A tiny caller-supplied raster clearance keeps a dark tyre circumference from
|
|
102
|
+
// disappearing into a similarly dark road/contact shadow. It is presentation-only
|
|
103
|
+
// and should remain a small fraction of wheel radius, never a ride-height offset.
|
|
104
|
+
const contactClearance = Math.max(0, options.contactClearance ?? 0);
|
|
105
|
+
return [
|
|
106
|
+
pose.groundedPosition[0],
|
|
107
|
+
pose.groundedPosition[1] + pitchLift + rollLift + contactClearance,
|
|
108
|
+
pose.groundedPosition[2]
|
|
109
|
+
];
|
|
33
110
|
}
|
|
34
111
|
const WHEEL_LAYOUT = [
|
|
35
112
|
{ id: "front-left", forward: 0.5, lateral: -0.5, steered: true },
|
|
@@ -52,6 +129,7 @@ export function createVehicleChassis(spec, surface) {
|
|
|
52
129
|
wheelRadius: positive(spec.wheelRadius, 0.15),
|
|
53
130
|
rideHeight: positive(spec.rideHeight, 0.3),
|
|
54
131
|
suspensionTravel: positive(spec.suspensionTravel ?? spec.rideHeight * 0.35, 0.05),
|
|
132
|
+
contactTolerance: Math.max(0, spec.contactTolerance ?? spec.wheelRadius * 0.04),
|
|
55
133
|
springRate: positive(spec.springRate ?? 14, 1),
|
|
56
134
|
dampingRatio: positive(spec.dampingRatio ?? 0.72, 0.05),
|
|
57
135
|
maxSteerAngle: positive(spec.maxSteerAngle ?? 0.52, 0.05),
|
|
@@ -182,14 +260,40 @@ export function createVehicleChassis(spec, surface) {
|
|
|
182
260
|
*/
|
|
183
261
|
const bodyY = cornerHeights.reduce((sum, value) => sum + value, 0) / cornerHeights.length;
|
|
184
262
|
const maxReach = resolved.rideHeight + resolved.suspensionTravel * 0.5;
|
|
263
|
+
/*
|
|
264
|
+
* Which wheels can the body actually rest on?
|
|
265
|
+
*
|
|
266
|
+
* Two wrong models, both of which shipped at some point:
|
|
267
|
+
*
|
|
268
|
+
* 1. Compare each wheel's surface to `bodyY`, the flat average of four corners. On
|
|
269
|
+
* level ground that is right. On undulating ground a legitimately low corner reads
|
|
270
|
+
* as unreachable, so `grounded` went false while `contactGap` stayed 0.00000 — an
|
|
271
|
+
* incoherent pair. A scripted lap over gentle terrain reported 233 of 360 steps
|
|
272
|
+
* ungrounded with zero measured gap.
|
|
273
|
+
* 2. Compare each wheel to *its own* corner. That is self-referential, because the
|
|
274
|
+
* corner is derived from the same sample: the difference is always ride height, so
|
|
275
|
+
* a car could hang a wheel over a cliff and still call itself grounded. The
|
|
276
|
+
* original code comment warned about exactly this, and a naive fix walked straight
|
|
277
|
+
* into it.
|
|
278
|
+
*
|
|
279
|
+
* The physical model is a rigid body resting on the wheels it can reach. The support
|
|
280
|
+
* height is the *median* of the corner heights rather than the mean: a median ignores
|
|
281
|
+
* one corner that has fallen into a hole, where a mean is dragged down by it. With
|
|
282
|
+
* four corners the median is the average of the middle two, which also keeps the value
|
|
283
|
+
* stable as the car rocks.
|
|
284
|
+
*/
|
|
285
|
+
const sortedCorners = [...cornerHeights].sort((left, right) => left - right);
|
|
286
|
+
const supportY = sortedCorners.length === 4
|
|
287
|
+
? (sortedCorners[1] + sortedCorners[2]) / 2
|
|
288
|
+
: bodyY;
|
|
185
289
|
const resolvedWheels = wheels.map((wheel, index) => {
|
|
186
290
|
const sample = samples[index].sample;
|
|
187
|
-
const requiredDrop =
|
|
188
|
-
if (requiredDrop <= maxReach)
|
|
291
|
+
const requiredDrop = supportY - sample.height;
|
|
292
|
+
if (requiredDrop <= maxReach + resolved.contactTolerance)
|
|
189
293
|
return wheel;
|
|
190
|
-
// Out of travel: the wheel
|
|
294
|
+
// Out of travel: the wheel hangs at full extension below the supported body and
|
|
191
295
|
// reports the gap to the surface it cannot reach.
|
|
192
|
-
const hangingCentreY =
|
|
296
|
+
const hangingCentreY = supportY - maxReach + resolved.wheelRadius;
|
|
193
297
|
return {
|
|
194
298
|
...wheel,
|
|
195
299
|
position: [wheel.position[0], hangingCentreY, wheel.position[2]],
|
|
@@ -205,20 +309,59 @@ export function createVehicleChassis(spec, surface) {
|
|
|
205
309
|
* lower than right is roll. Derived rather than imposed, so the attitude can only
|
|
206
310
|
* be one the springs produced.
|
|
207
311
|
*/
|
|
312
|
+
/*
|
|
313
|
+
* A rigid body rests on the wheels that can reach it. Do not derive its attitude
|
|
314
|
+
* from the mesh query's fallback height under an explicitly ungrounded wheel: that
|
|
315
|
+
* made one tyre over a seam roll the whole car toward the bottom of the mesh. With
|
|
316
|
+
* three supported corners, the missing corner is the planar continuation of the
|
|
317
|
+
* other three; with fewer, use the supported median rather than inventing a slope.
|
|
318
|
+
*/
|
|
319
|
+
const missingSurface = samples.map((entry) => entry.sample.hit === false);
|
|
320
|
+
const supportedCornerHeights = supportPlaneValues(cornerHeights, missingSurface);
|
|
321
|
+
const supportedSurfaceHeights = supportPlaneValues(samples.map((entry) => entry.sample.height), missingSurface);
|
|
208
322
|
const cornerBy = (id) => {
|
|
209
323
|
const index = WHEEL_LAYOUT.findIndex((wheel) => wheel.id === id);
|
|
210
|
-
return
|
|
324
|
+
return supportedCornerHeights[index] ?? bodyY;
|
|
211
325
|
};
|
|
212
326
|
const frontHeight = (cornerBy("front-left") + cornerBy("front-right")) / 2;
|
|
213
327
|
const rearHeight = (cornerBy("rear-left") + cornerBy("rear-right")) / 2;
|
|
214
328
|
const leftHeight = (cornerBy("front-left") + cornerBy("rear-left")) / 2;
|
|
215
329
|
const rightHeight = (cornerBy("front-right") + cornerBy("rear-right")) / 2;
|
|
330
|
+
/*
|
|
331
|
+
* Surface attitude: the slope of the ground itself, under the contact patches.
|
|
332
|
+
*
|
|
333
|
+
* This is separated from the spring-induced attitude below because the two are
|
|
334
|
+
* bounded by different things, and conflating them was a real defect. `maxPitch` and
|
|
335
|
+
* `maxRoll` are correctly capped by suspension travel — a spring cannot tilt the body
|
|
336
|
+
* further than it can compress. But a car driving across a *banked* road is tilted by
|
|
337
|
+
* the road, and that rotation costs no suspension travel at all: all four springs sit
|
|
338
|
+
* at rest and the whole chassis simply lies on a slope.
|
|
339
|
+
*
|
|
340
|
+
* Capping the total attitude by travel therefore clamped surface following to a few
|
|
341
|
+
* degrees. On a 10-degree bank the chassis reported 4.59 degrees of roll, so the body
|
|
342
|
+
* stayed nearly level while its wheels sat on a visibly sloped surface — which reads
|
|
343
|
+
* as the car floating through the banking. Measured, not assumed: a 0.12-unit travel
|
|
344
|
+
* over a 1.5-unit track caps roll at 2.29 degrees, and 2 x 2.29 = 4.59.
|
|
345
|
+
*/
|
|
346
|
+
const surfaceHeightAt = (id) => {
|
|
347
|
+
const index = WHEEL_LAYOUT.findIndex((wheel) => wheel.id === id);
|
|
348
|
+
return supportedSurfaceHeights[index] ?? 0;
|
|
349
|
+
};
|
|
350
|
+
const surfaceFront = (surfaceHeightAt("front-left") + surfaceHeightAt("front-right")) / 2;
|
|
351
|
+
const surfaceRear = (surfaceHeightAt("rear-left") + surfaceHeightAt("rear-right")) / 2;
|
|
352
|
+
const surfaceLeft = (surfaceHeightAt("front-left") + surfaceHeightAt("rear-left")) / 2;
|
|
353
|
+
const surfaceRight = (surfaceHeightAt("front-right") + surfaceHeightAt("rear-right")) / 2;
|
|
354
|
+
const surfacePitch = Math.asin(clamp((surfaceRear - surfaceFront) / Math.max(1e-6, resolved.wheelbase), -1, 1));
|
|
355
|
+
const surfaceRoll = Math.asin(clamp((surfaceLeft - surfaceRight) / Math.max(1e-6, resolved.trackWidth), -1, 1));
|
|
216
356
|
// A lower nose is a positive pitch, matching the convention that braking pitches
|
|
217
357
|
// the car nose-down with a positive angle.
|
|
218
|
-
|
|
358
|
+
// Total attitude, then split: the surface part is free, the spring part is capped.
|
|
359
|
+
const totalPitch = Math.asin(clamp((rearHeight - frontHeight) / Math.max(1e-6, resolved.wheelbase), -1, 1));
|
|
360
|
+
pitch = surfacePitch + clamp(totalPitch - surfacePitch, -resolved.maxPitch, resolved.maxPitch);
|
|
219
361
|
// A lower left side is a negative roll, so steering right (which loads the left)
|
|
220
362
|
// produces a negative roll and steering left a positive one.
|
|
221
|
-
|
|
363
|
+
const totalRoll = Math.asin(clamp((leftHeight - rightHeight) / Math.max(1e-6, resolved.trackWidth), -1, 1));
|
|
364
|
+
roll = surfaceRoll + clamp(totalRoll - surfaceRoll, -resolved.maxRoll, resolved.maxRoll);
|
|
222
365
|
// Rolling rotation from distance travelled. A stationary car's wheels must not
|
|
223
366
|
// spin, and a fast car's must, which is what makes motion legible.
|
|
224
367
|
const spinRate = resolved.wheelRadius > 0 ? state.speed / resolved.wheelRadius : 0;
|
|
@@ -310,6 +453,37 @@ function attitudeLimitForTravel(travel, span) {
|
|
|
310
453
|
const budget = Math.max(0, travel) / 2;
|
|
311
454
|
return Math.asin(Math.min(1, budget / halfSpan));
|
|
312
455
|
}
|
|
456
|
+
/** Resolve a rectangular four-corner support plane around any hanging wheels. */
|
|
457
|
+
function supportPlaneValues(values, missingSurface) {
|
|
458
|
+
const resolved = [values[0] ?? 0, values[1] ?? 0, values[2] ?? 0, values[3] ?? 0];
|
|
459
|
+
const hanging = missingSurface
|
|
460
|
+
.map((missing, index) => missing ? index : -1)
|
|
461
|
+
.filter((index) => index >= 0);
|
|
462
|
+
if (hanging.length === 0)
|
|
463
|
+
return resolved;
|
|
464
|
+
if (hanging.length === 1) {
|
|
465
|
+
const missing = hanging[0];
|
|
466
|
+
// Layout: front-left, front-right, rear-left, rear-right.
|
|
467
|
+
const extrapolated = [
|
|
468
|
+
resolved[1] + resolved[2] - resolved[3],
|
|
469
|
+
resolved[0] + resolved[3] - resolved[2],
|
|
470
|
+
resolved[0] + resolved[3] - resolved[1],
|
|
471
|
+
resolved[1] + resolved[2] - resolved[0]
|
|
472
|
+
];
|
|
473
|
+
resolved[missing] = extrapolated[missing];
|
|
474
|
+
return resolved;
|
|
475
|
+
}
|
|
476
|
+
const supported = resolved.filter((_value, index) => !missingSurface[index]);
|
|
477
|
+
const sorted = supported.sort((left, right) => left - right);
|
|
478
|
+
const median = sorted.length === 0
|
|
479
|
+
? 0
|
|
480
|
+
: sorted.length % 2 === 1
|
|
481
|
+
? sorted[Math.floor(sorted.length / 2)]
|
|
482
|
+
: (sorted[sorted.length / 2 - 1] + sorted[sorted.length / 2]) / 2;
|
|
483
|
+
for (const index of hanging)
|
|
484
|
+
resolved[index] = median;
|
|
485
|
+
return resolved;
|
|
486
|
+
}
|
|
313
487
|
function clamp(value, min, max) {
|
|
314
488
|
return Math.min(max, Math.max(min, Number.isFinite(value) ? value : min));
|
|
315
489
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VehicleChassis.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/VehicleChassis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VehicleChassis.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/VehicleChassis.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,53 @@ export interface WorldLabel {
|
|
|
62
62
|
readonly hideWhenBehindCamera?: boolean | undefined;
|
|
63
63
|
/** Screen-anchored HUD labels ignore the projection entirely. */
|
|
64
64
|
readonly screenAnchor?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Respect geometry in front of the label's anchor (WS-2.7).
|
|
67
|
+
*
|
|
68
|
+
* ## Why this field is new when the option is old
|
|
69
|
+
*
|
|
70
|
+
* `occlusionAware` has defaulted to **true** on every `labels.billboard()`, `labels.anchor()` and
|
|
71
|
+
* `labels.axisTick()` since before 1.6, `AuraLabelOptions` accepts it, and `FocusSelection` sets it
|
|
72
|
+
* explicitly — but `worldLabelsFromSnapshot` never read it and `WorldLabel` had no field to read it
|
|
73
|
+
* into. `depth` existed and was used only for draw ordering and collision priority.
|
|
74
|
+
*
|
|
75
|
+
* So a developer reading the API saw occlusion-aware labels on by default while the screen showed
|
|
76
|
+
* labels drawn through walls: a declared capability that quietly did nothing. Adding the field is the
|
|
77
|
+
* part that makes the existing option mean something.
|
|
78
|
+
*
|
|
79
|
+
* Defaults to true here to match the public default. A label with no depth sampler available is drawn
|
|
80
|
+
* normally rather than hidden — absence of a depth signal is not evidence of occlusion.
|
|
81
|
+
*/
|
|
82
|
+
readonly occlusionAware?: boolean | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* What to do when the anchor is occluded. `"dim"` keeps the label readable but visibly behind, which
|
|
85
|
+
* is usually better for an annotation than vanishing; `"hide"` suits dense scenes.
|
|
86
|
+
*/
|
|
87
|
+
readonly occlusionPolicy?: "dim" | "hide" | undefined;
|
|
65
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Is the world point this label annotates hidden by geometry in front of it?
|
|
91
|
+
*
|
|
92
|
+
* ## Why a world-space test rather than a depth-buffer read
|
|
93
|
+
*
|
|
94
|
+
* The obvious implementation is to sample the depth buffer at the label's pixel. **WebGL2 cannot do
|
|
95
|
+
* that for the default framebuffer** — `readPixels` reads colour only, and reading depth requires
|
|
96
|
+
* rendering into a framebuffer with a depth *texture* attachment. Building that would mean restructuring
|
|
97
|
+
* both render paths to render off-screen and blit, for a label feature.
|
|
98
|
+
*
|
|
99
|
+
* A world-space segment test answers the question more directly anyway. "Is this label occluded" really
|
|
100
|
+
* means *"is the subject it points at behind something"*, which is a property of the scene, not of a
|
|
101
|
+
* pixel. It is also deterministic and unit-testable without a GPU, and it gives the same answer at any
|
|
102
|
+
* resolution — a depth read is subject to whatever happened to be rasterised at that exact pixel.
|
|
103
|
+
*
|
|
104
|
+
* Injected rather than computed here so this module stays pure: a test supplies a synthetic occluder and
|
|
105
|
+
* asserts the policy without constructing a scene.
|
|
106
|
+
*
|
|
107
|
+
* Returning `false` for "unknown" is deliberate. Absence of an occlusion signal is not evidence of
|
|
108
|
+
* occlusion, and guessing pessimistically would hide labels whenever the test was unavailable — the same
|
|
109
|
+
* silent-wrong-result shape this phase exists to remove.
|
|
110
|
+
*/
|
|
111
|
+
export type LabelOcclusionTest = (anchor: LabelVec3) => boolean;
|
|
66
112
|
export interface LabelViewport {
|
|
67
113
|
readonly width: number;
|
|
68
114
|
readonly height: number;
|
|
@@ -90,6 +136,15 @@ export interface ProjectedLabel {
|
|
|
90
136
|
readonly leader: boolean;
|
|
91
137
|
/** Normalized depth, 0 at the near plane. Used for draw ordering. */
|
|
92
138
|
readonly depth: number;
|
|
139
|
+
/**
|
|
140
|
+
* True when geometry sits in front of this label's anchor (WS-2.7).
|
|
141
|
+
*
|
|
142
|
+
* Reported even when the policy is `"dim"` rather than `"hide"`, so evidence can distinguish
|
|
143
|
+
* "occluded and dimmed" from "not occluded" — a screenshot cannot.
|
|
144
|
+
*/
|
|
145
|
+
readonly occluded: boolean;
|
|
146
|
+
/** Opacity multiplier applied for occlusion. 1 when unoccluded, < 1 when dimmed. */
|
|
147
|
+
readonly occlusionOpacity: number;
|
|
93
148
|
}
|
|
94
149
|
/**
|
|
95
150
|
* Project a world point through a column-major 4x4 view-projection matrix.
|
|
@@ -109,7 +164,9 @@ export declare function ndcToScreen(ndc: readonly [number, number, number], view
|
|
|
109
164
|
* Pure: no DOM. This is the function tests assert on, so label placement is
|
|
110
165
|
* verified by arithmetic rather than by looking at a screenshot.
|
|
111
166
|
*/
|
|
112
|
-
export declare function projectWorldLabels(labels: readonly WorldLabel[], viewProjection: ArrayLike<number>, viewport: LabelViewport
|
|
167
|
+
export declare function projectWorldLabels(labels: readonly WorldLabel[], viewProjection: ArrayLike<number>, viewport: LabelViewport,
|
|
168
|
+
/** WS-2.7 — occlusion test for a world anchor. Omit when unavailable; labels are then never occluded. */
|
|
169
|
+
isOccluded?: LabelOcclusionTest): readonly ProjectedLabel[];
|
|
113
170
|
/**
|
|
114
171
|
* Resolve overlapping labels by nudging later ones vertically.
|
|
115
172
|
*
|
|
@@ -131,6 +188,13 @@ export interface WorldLabelLayer {
|
|
|
131
188
|
setLabels(labels: readonly WorldLabel[]): void;
|
|
132
189
|
/** Reproject and redraw with the current view-projection matrix. */
|
|
133
190
|
update(viewProjection: ArrayLike<number>): void;
|
|
191
|
+
/**
|
|
192
|
+
* Supply the occlusion test used for annotations (WS-2.7).
|
|
193
|
+
*
|
|
194
|
+
* Set separately from `update` because scene geometry changes with `setScene`, and because a layer
|
|
195
|
+
* created before the renderer mounts must remain usable and simply gain occlusion later.
|
|
196
|
+
*/
|
|
197
|
+
setOcclusionTest(isOccluded: LabelOcclusionTest | undefined): void;
|
|
134
198
|
/** Most recent projection result, for evidence and tests. */
|
|
135
199
|
snapshot(): readonly ProjectedLabel[];
|
|
136
200
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorldLabelRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/WorldLabelRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D,iEAAiE;AACjE,MAAM,MAAM,eAAe;AACzB,+BAA+B;AAC7B,MAAM;AACR,gFAAgF;GAC9E,OAAO;AACT,kEAAkE;GAChE,MAAM,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"WorldLabelRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/WorldLabelRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
*
|
|
25
25
|
* The projection math here is pure and unit-testable; only `mount` touches the DOM.
|
|
26
26
|
*/
|
|
27
|
+
/** Opacity for an occluded label under the `"dim"` policy: visibly behind, still readable. */
|
|
28
|
+
const OCCLUDED_OPACITY = 0.35;
|
|
27
29
|
/**
|
|
28
30
|
* Project a world point through a column-major 4x4 view-projection matrix.
|
|
29
31
|
*
|
|
@@ -57,7 +59,9 @@ const SCREEN_ANCHOR_MARGIN = 14;
|
|
|
57
59
|
* Pure: no DOM. This is the function tests assert on, so label placement is
|
|
58
60
|
* verified by arithmetic rather than by looking at a screenshot.
|
|
59
61
|
*/
|
|
60
|
-
export function projectWorldLabels(labels, viewProjection, viewport
|
|
62
|
+
export function projectWorldLabels(labels, viewProjection, viewport,
|
|
63
|
+
/** WS-2.7 — occlusion test for a world anchor. Omit when unavailable; labels are then never occluded. */
|
|
64
|
+
isOccluded) {
|
|
61
65
|
const compactScale = viewport.compact === true ? 0.86 : 1;
|
|
62
66
|
return labels.map((label) => {
|
|
63
67
|
const fontSize = Math.max(11, Math.round((label.fontSize ?? 14) * compactScale));
|
|
@@ -80,7 +84,10 @@ export function projectWorldLabels(labels, viewProjection, viewport) {
|
|
|
80
84
|
color,
|
|
81
85
|
background,
|
|
82
86
|
leader: false,
|
|
83
|
-
depth: 0
|
|
87
|
+
depth: 0,
|
|
88
|
+
// A screen-anchored HUD label is deliberately in front of everything.
|
|
89
|
+
occluded: false,
|
|
90
|
+
occlusionOpacity: 1
|
|
84
91
|
};
|
|
85
92
|
}
|
|
86
93
|
const projected = projectWorldPoint(viewProjection, label.anchor);
|
|
@@ -121,6 +128,25 @@ export function projectWorldLabels(labels, viewProjection, viewport) {
|
|
|
121
128
|
y = clampedY;
|
|
122
129
|
}
|
|
123
130
|
}
|
|
131
|
+
/*
|
|
132
|
+
* WS-2.7 — occlusion of the point this label annotates.
|
|
133
|
+
*
|
|
134
|
+
* Tested at the LEADER anchor's world position, not the label box. A callout box is deliberately
|
|
135
|
+
* offset beside its subject and often sits over empty space, so testing there would ask about the
|
|
136
|
+
* background rather than the subject. The question is "is the thing this label points at hidden".
|
|
137
|
+
*
|
|
138
|
+
* A label already hidden for another reason is not tested — no need — and one behind the camera is
|
|
139
|
+
* not either, since `behindCamera` already covers it and is a stronger statement.
|
|
140
|
+
*/
|
|
141
|
+
const occlusionAware = label.occlusionAware ?? true;
|
|
142
|
+
const occlusionAnchor = label.leaderAnchor ?? label.anchor;
|
|
143
|
+
const occluded = occlusionAware && isOccluded !== undefined && visible && !behindCamera
|
|
144
|
+
? isOccluded(occlusionAnchor)
|
|
145
|
+
: false;
|
|
146
|
+
const occlusionPolicy = label.occlusionPolicy ?? "dim";
|
|
147
|
+
if (occluded && occlusionPolicy === "hide")
|
|
148
|
+
visible = false;
|
|
149
|
+
const occlusionOpacity = occluded && occlusionPolicy === "dim" ? OCCLUDED_OPACITY : 1;
|
|
124
150
|
return {
|
|
125
151
|
id: label.id,
|
|
126
152
|
text: label.text,
|
|
@@ -135,7 +161,9 @@ export function projectWorldLabels(labels, viewProjection, viewport) {
|
|
|
135
161
|
color,
|
|
136
162
|
background,
|
|
137
163
|
leader,
|
|
138
|
-
depth: round(projected.ndc[2])
|
|
164
|
+
depth: round(projected.ndc[2]),
|
|
165
|
+
occluded,
|
|
166
|
+
occlusionOpacity
|
|
139
167
|
};
|
|
140
168
|
});
|
|
141
169
|
}
|
|
@@ -190,6 +218,8 @@ export function resolveLabelCollisions(labels, options = {}) {
|
|
|
190
218
|
* annotations without announcing every camera-driven reposition.
|
|
191
219
|
*/
|
|
192
220
|
export function createWorldLabelLayer(host) {
|
|
221
|
+
/** WS-2.7 — set by the runtime once scene geometry is known. Undefined means "never occlude". */
|
|
222
|
+
let occlusionTest;
|
|
193
223
|
const root = document.createElement("div");
|
|
194
224
|
root.className = "aura-world-label-layer";
|
|
195
225
|
root.setAttribute("data-aura-world-labels", "");
|
|
@@ -268,6 +298,16 @@ export function createWorldLabelLayer(host) {
|
|
|
268
298
|
element.style.color = label.color;
|
|
269
299
|
element.style.background = label.background;
|
|
270
300
|
element.style.fontSize = `${label.fontSize}px`;
|
|
301
|
+
/*
|
|
302
|
+
* WS-2.7 — dim an occluded label rather than removing it.
|
|
303
|
+
*
|
|
304
|
+
* `aria-hidden` is deliberately NOT set: the annotation is still true, it is simply behind
|
|
305
|
+
* geometry, and hiding it from a screen reader would trade a visual cue for an accessibility
|
|
306
|
+
* regression. `data-occluded` is exposed so an interaction audit can assert occlusion happened —
|
|
307
|
+
* a screenshot cannot distinguish "dimmed" from "unoccluded but faint".
|
|
308
|
+
*/
|
|
309
|
+
element.style.opacity = String(label.occlusionOpacity);
|
|
310
|
+
element.dataset.occluded = label.occluded ? "true" : "false";
|
|
271
311
|
if (element.textContent !== label.text)
|
|
272
312
|
element.textContent = label.text;
|
|
273
313
|
if (label.leader) {
|
|
@@ -277,7 +317,7 @@ export function createWorldLabelLayer(host) {
|
|
|
277
317
|
line.setAttribute("x2", String(label.anchorX));
|
|
278
318
|
line.setAttribute("y2", String(label.anchorY));
|
|
279
319
|
line.setAttribute("stroke", label.color);
|
|
280
|
-
line.setAttribute("stroke-opacity",
|
|
320
|
+
line.setAttribute("stroke-opacity", String(0.72 * label.occlusionOpacity));
|
|
281
321
|
}
|
|
282
322
|
else {
|
|
283
323
|
leaders.get(label.id)?.setAttribute("stroke", "transparent");
|
|
@@ -297,8 +337,11 @@ export function createWorldLabelLayer(host) {
|
|
|
297
337
|
setLabels(next) {
|
|
298
338
|
labels = next;
|
|
299
339
|
},
|
|
340
|
+
setOcclusionTest(next) {
|
|
341
|
+
occlusionTest = next;
|
|
342
|
+
},
|
|
300
343
|
update(viewProjection) {
|
|
301
|
-
projected = resolveLabelCollisions(projectWorldLabels(labels, viewProjection, viewport()));
|
|
344
|
+
projected = resolveLabelCollisions(projectWorldLabels(labels, viewProjection, viewport(), occlusionTest));
|
|
302
345
|
draw();
|
|
303
346
|
},
|
|
304
347
|
snapshot() {
|