/** * @license * SPDX-License-Identifier: Apache-2.0 */ // Core export { MujocoProvider, useMujocoWasm } from './core/MujocoProvider'; export type { MujocoLoader, MujocoLoaderOptions, MujocoProviderProps, MujocoWasmVariant } from './core/MujocoProvider'; export { MujocoCanvas } from './core/MujocoCanvas'; export { MujocoPhysics } from './core/MujocoPhysics'; export type { MujocoPhysicsProps } from './core/MujocoPhysics'; export { MujocoSimProvider, useMujoco, useBeforePhysicsStep, useAfterPhysicsStep } from './core/MujocoSimProvider'; export { loadScene, getName, findSiteByName, findActuatorByName, findKeyframeByName, findBodyByName, findJointByName, findGeomByName, findSensorByName, findTendonByName, getActuatedJoints, getControlMap, resolveControlGroup, createContiguousControlGroup, } from './core/SceneLoader'; export { buildObservation } from './core/ObservationBuilder'; // Controller factory export { createController, createControllerHook } from './core/createController'; export type { ControllerOptions, ControllerComponent } from './core/createController'; // IK controller hook export { useIkController } from './hooks/useIkController'; export { GenericIK } from './core/GenericIK'; export type { GenericIKOptions } from './core/GenericIK'; // Components export { Body } from './components/Body'; export { IkGizmo } from './components/IkGizmo'; export { ContactMarkers } from './components/ContactMarkers'; export { DragInteraction } from './components/DragInteraction'; export { SceneLights } from './components/SceneLights'; export { ScenarioLighting, SplatEnvironment, VisualScenarioEffects, createPairedSplatEnvironment, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, getSplatEnvironmentReadiness, getScenarioBackground, getScenarioCameraPosition, useSplatEnvironment, useSplatSceneConfig, useVisualScenarioExecutionContext, useVisualScenarioEffects, withSplatEnvironment, } from './components/VisualScenario'; export { canFetchSplatCollisionProxyXml, fetchSplatCollisionProxyXml, parseSplatCollisionProxyGeoms, SplatCollisionProxyPreview, useSplatCollisionProxyGeoms, } from './components/SplatCollisionProxyPreview'; export type { SplatCollisionProxyGeomPreview, SplatCollisionProxyGeomsState, SplatCollisionProxyPreviewProps, SplatCollisionProxyPreviewStatus, SplatCollisionProxyPreviewVector3, UseSplatCollisionProxyGeomsOptions, } from './components/SplatCollisionProxyPreview'; export { CameraView, useCameraViewport } from './components/CameraView'; export type { CameraViewProps, CameraViewportOptions } from './components/CameraView'; export { useCameraStream } from './hooks/useCameraStream'; export type { CameraStreamOptions } from './hooks/useCameraStream'; export { Debug } from './components/Debug'; export { TendonRenderer } from './components/TendonRenderer'; export { FlexRenderer } from './components/FlexRenderer'; export { InstancedGeomRenderer } from './components/InstancedGeomRenderer'; export { ContactListener } from './components/ContactListener'; export { TrajectoryPlayer } from './components/TrajectoryPlayer'; // Hooks export { useActuators } from './hooks/useActuators'; export { useSitePosition } from './hooks/useSitePosition'; export { useGravityCompensation } from './hooks/useGravityCompensation'; export { useSensor, useSensors } from './hooks/useSensor'; export { useJointState } from './hooks/useJointState'; export { useBodyState } from './hooks/useBodyState'; export { useBodyPose, useGeomPose, useSitePose } from './hooks/usePose'; export type { PoseReadout, PoseResourceKind } from './hooks/usePose'; export { useCtrl } from './hooks/useCtrl'; export { controlGroup, defineControls, useControlGroup, useControls } from './hooks/useControlGroup'; export type { ControlGroup, ControlGroupHandle, ControlGroupSetOptions, ControlsHandle, DefinedControls, UseControlGroupOptions, } from './hooks/useControlGroup'; export { useControlWriter } from './hooks/useControlWriter'; export type { ControlWriterConflict, ControlWriterHandle, ControlWriterOptions, ControlWriterWriteOptions, } from './hooks/useControlWriter'; export { useContacts, useContactEvents } from './hooks/useContacts'; export { useContactHistory } from './hooks/useContactHistory'; export type { ContactHistoryEntry, ContactHistoryHandle, ContactHistoryOptions, } from './hooks/useContactHistory'; export { useKeyboardTeleop } from './hooks/useKeyboardTeleop'; export { useKeyboardIkTarget } from './hooks/useKeyboardIkTarget'; export { usePolicy } from './hooks/usePolicy'; export { useRemotePolicy } from './hooks/useRemotePolicy'; export { useObservation } from './hooks/useObservation'; export { useNamedObservation } from './hooks/useNamedObservation'; export type { NamedObservationHandle } from './hooks/useNamedObservation'; export { useTrajectoryPlayer } from './hooks/useTrajectoryPlayer'; export { useTrajectoryRecorder } from './hooks/useTrajectoryRecorder'; export { useGamepad } from './hooks/useGamepad'; export { useVideoRecorder } from './hooks/useVideoRecorder'; export { captureFrame, captureFrameBlob, useFrameCapture, } from './hooks/useFrameCapture'; export { useCameraFrameCapture } from './hooks/useCameraFrameCapture'; export { usePolicyCameraFrames, usePolicyCameraFramesFromMountedStreams, } from './hooks/usePolicyCameraFrames'; export type { MountedPolicyCameraFrameCaptureAPI, MountedPolicyCameraFrameCaptureOptions, } from './hooks/usePolicyCameraFrames'; export { usePolicyCameraTensors, usePolicyCameraTensorsFromMountedStreams, } from './hooks/usePolicyCameraTensors'; export type { MountedPolicyCameraTensorOptions, PolicyCameraTensorsAPI, PolicyCameraTensorsOptions, PolicyCameraTensorsResult, PolicyCameraTensorStream, } from './hooks/usePolicyCameraTensors'; export { useCameraSequenceRecorder } from './hooks/useCameraSequenceRecorder'; export { useMountedCameraSequenceRecorder } from './hooks/useMountedCameraSequenceRecorder'; export type { MountedCameraSequencePlanOptions, MountedCameraSequenceRecorderAPI, MountedCameraSequenceReadiness, MountedCameraSequenceRecordOptions, MountedCameraSequenceRecordResult, } from './hooks/useMountedCameraSequenceRecorder'; export { CAMERA_FRAME_CAPTURE_RENDER_USER_DATA_KEY, CAMERA_FRAME_CAPTURE_PRE_RENDER_USER_DATA_KEY, CAPTURE_EXCLUDE_KEY, captureCameraFrame, captureCameraFrameBlob, captureCameraFrameTensor, createCameraFrameCaptureSession, renderCameraFrameToCanvas, } from './rendering/cameraFrameCapture'; export type { CameraFrameCaptureSession, CameraFrameCaptureTensorOptions, CameraFramePixelsResult, CameraFrameTensorResult, } from './rendering/cameraFrameCapture'; export { imagePointToNdc, projectImagePointTo3D, } from './rendering/imageProjection'; export { capturePolicyCameraFrames, capturePolicyCameraFramesFromMountedStreams, createPolicyCameraFrameCapturePlan, createPolicyCameraFrameCapturePlanFromApi, } from './policyCameraFrames'; export { applyPolicyActionToControls, clampPolicyActionValue, } from './policyControls'; export { bodyPositionField, createNamedObservationBuilder, ctrlField, geomPositionField, qposField, qvelField, readNamedObservation, sitePositionField, } from './policyObservation'; export { dataUrlToPolicyImageTensor, imageDataToPolicyImageTensor, pixelsToPolicyImageTensor, } from './policyImageTensors'; export type { CreatePolicyCameraFrameCapturePlanOptions, PolicyCameraFrameCapturePlan, PolicyCameraFrameCaptureTarget, PolicyCameraFramePlanTarget, PolicyCameraFrameStreamOptions, } from './policyCameraFrames'; export type { ApplyPolicyActionToControlsOptions, ApplyPolicyActionToControlsResult, } from './policyControls'; export type { NamedObservationField, NamedObservationInput, NamedObservationLayoutItem, NamedObservationMissing, NamedObservationOptions, NamedObservationResult, } from './policyObservation'; export type { PolicyImageTensorLayout, PolicyImageTensorOptions, PolicyImageTensorPixelOptions, PolicyImageTensorRange, PolicyImageTensorResult, PolicyImageTensorSourceOrigin, } from './policyImageTensors'; export { createMountedCameraFrameSequenceManifest, createMountedCameraFrameSequenceReadiness, createMountedCameraFrameSourceSuggestions, MountedCameraFrameSequenceManifestStatus, MountedCameraFrameSequenceReadinessStatus, MountedCameraFrameSourceSuggestionMatch, createMountedCameraFrameSequencePlanFromApi, createMountedCameraFrameSequencePlan, getCameraFrameCaptureSourceTarget, getMountedCameraFrameCaptureSource, isMountedCameraFrameCaptureSource, recordMountedCameraFrameSequence, resolveMountedCameraFrameSource, } from './rendering/cameraFrameSource'; export type { CameraFrameMountSelector, CreateMountedCameraFrameSequenceManifestOptions, CreateMountedCameraFrameSequencePlanOptions, MountedCameraFrameCaptureSource, MountedCameraFrameSequenceManifest, MountedCameraFrameSequencePlanOptions, MountedCameraFrameSequenceRecorderTarget, MountedCameraFrameSequenceCameraOptions, MountedCameraFrameSequenceDefaults, MountedCameraFrameSequencePlan, MountedCameraFrameSequenceReadiness, MountedCameraFrameSequenceRecordOptions, MountedCameraFrameSequenceRecordResult, MountedCameraFrameSequenceSourceReadiness, MountedCameraFrameSequenceStreamSummary, MountedCameraFrameSourceSuggestion, NamedCameraFrameResource, ResolveMountedCameraFrameSourceOptions, ResolvedMountedCameraFrameSource, } from './rendering/cameraFrameSource'; export { useCtrlNoise } from './hooks/useCtrlNoise'; export { useBodyMeshes } from './hooks/useBodyMeshes'; export { useSelectionHighlight } from './hooks/useSelectionHighlight'; export { useSceneLights } from './hooks/useSceneLights'; export { useCameraAnimation } from './hooks/useCameraAnimation'; export type { CameraAnimationAPI } from './hooks/useCameraAnimation'; // Types export type { // Scene config SceneConfig, SceneObject, XmlPatch, SceneMarker, PhysicsConfig, // IK IkConfig, IkContextValue, IKSolveFn, IkSolveInput, // Callbacks PhysicsStepCallback, PhysicsStepInput, ResetCallbackInput, ReadyCallbackInput, StepCallbackInput, SelectionCallbackInput, // State management StateSnapshot, // Model introspection BodyInfo, JointInfo, ActuatedJointInfo, ControlJointInfo, ControlGroupInfo, ControlGroupSelector, ResourceSelector, GeomInfo, SiteInfo, ActuatorInfo, SensorInfo, CameraInfo, // Contacts ContactInfo, // Raycast RayHit, ImagePointCoordinateSpace, ImagePointProjectionOptions, ImagePointProjectionResult, // Model options ModelOptions, // Trajectory TrajectoryFrame, TrajectoryData, TrajectoryInput, PlaybackState, // Keyboard teleop KeyBinding, KeyboardTeleopConfig, KeyboardIkTargetAction, KeyboardIkTargetBinding, KeyboardIkTargetConfig, // Policy PolicyAPI, PolicyConfig, PolicyVector, PolicyActionChunk, PolicyInferenceOutput, PolicyObservationInput, PolicyInferenceInput, PolicyInferenceResult, PolicyActionInput, RemotePolicyAPI, RemotePolicyConfig, RemotePolicyRequestInput, RemotePolicyRequestInfo, RemotePolicyResponseInfo, RemotePolicyStatus, PolicyCameraFrameCaptureAPI, PolicyCameraFrameCaptureOptions, PolicyCameraFrameCaptureResult, PolicyCameraFrameStream, // Observations ObservationConfig, ObservationHandle, ObservationLayoutItem, ObservationOutput, ObservationResult, // Component props BodyProps, IkGizmoProps, IkGizmoDragInput, DragInteractionProps, DebugVirtualCamera, DebugProps, SceneLightsProps, ScenarioLightingPreset, SplatFormat, SplatRendererKind, SplatCollisionPrimitive, ScenarioCameraConfig, SplatAssetConfig, SplatScenarioConfig, SplatCollisionProxyConfig, PairedSplatEnvironmentConfig, SplatEnvironmentReadiness, SplatEnvironmentMetadataInput, SplatEnvironmentMetadata, VisualScenarioExecutionContext, VisualScenarioExecutionContextInput, ResolvedScenarioCameraConfig, ResolvedScenarioMaterialConfig, SplatSceneConfigInput, SplatSceneConfigState, SplatSceneInput, VisualScenarioConfig, ScenarioLightingProps, ScenarioMaterialConfig, SplatEnvironmentProps, VisualScenarioEffectsProps, VisualScenarioMaterialFilterInput, TrajectoryPlayerProps, TrajectoryFrameCallbackInput, TrajectoryStateChangeInput, ContactListenerProps, // API MujocoSimAPI, MujocoFrameCaptureOptions, CameraFrameCaptureAPI, CameraFrameCaptureBlobResult, CameraFrameCaptureOptions, CameraFrameCaptureQuaternion, CameraFrameCaptureResult, CameraFrameCaptureSource, CameraFrameCaptureVector3, CameraFrameSequenceCamera, CameraFrameSequenceCameraSummary, CameraFrameSequenceFrame, CameraFrameSequenceOptions, CameraFrameSequenceRecorderAPI, CameraFrameSequenceResult, CameraFrameSequenceSampleInput, CameraFrameSequenceStepInput, MujocoCanvasProps, MujocoContextValue, // Hook return types FrameCaptureAPI, FrameCaptureBlobResult, FrameCaptureOptions, FrameCaptureResult, FrameCaptureStatus, FrameCaptureTarget, FrameCaptureTargetRef, SitePositionResult, SensorResult, CtrlHandle, SensorHandle, BodyStateResult, JointStateResult, JointStateKind, JointStateOptions, ScalarJointStateResult, ArrayJointStateResult, // Register (type-safe named resources) Register, RegisteredModelMap, ModelResource, Models, Actuators, Sensors, Bodies, Joints, Sites, Geoms, Keyframes, Cameras, } from './types'; export { registerModelResources, ModelResources, ModelActuators, ModelSensors, ModelBodies, ModelJoints, ModelSites, ModelGeoms, ModelKeyframes, ModelCameras, SplatEnvironmentReadinessStatus, } from './types'; // Re-export MuJoCo types for convenience export type { MujocoModule, MujocoModel, MujocoData, MujocoContact, MujocoContactArray } from './types'; export { getContact } from './types';