mujoco-react 9.6.0 → 10.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/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { M as MujocoContextValue, a as MujocoCanvasProps, b as MujocoSimAPI, S as SceneConfig, R as ReadyCallbackInput, c as StepCallbackInput, d as SelectionCallbackInput, e as MujocoModule, P as PhysicsStepCallback, f as MujocoModel, g as MujocoData, C as ControlGroupInfo, A as ActuatedJointInfo, h as ControlGroupSelector, O as ObservationConfig, i as ObservationResult, I as IkConfig, j as IkContextValue, B as BodyProps, k as IkGizmoProps, D as DragInteractionProps, l as SceneLightsProps, m as ScenarioLightingProps, n as SplatEnvironmentProps, V as VisualScenarioEffectsProps, o as VisualScenarioConfig, p as SplatRendererKind, q as PairedSplatEnvironmentConfig, r as SplatFormat, s as SplatCollisionProxyConfig, t as SplatEnvironmentReadiness, u as SplatCollisionPrimitive, v as SplatEnvironmentReadinessStatus, w as SplatSceneConfigInput, x as SplatSceneConfigState, y as VisualScenarioExecutionContextInput, z as VisualScenarioExecutionContext, E as ScenarioLightingPreset, F as SplatEnvironmentMetadataInput, G as SplatEnvironmentMetadata, H as SplatSceneInput, J as DebugProps, K as GeomInfo, L as ContactListenerProps, T as TrajectoryPlayerProps, N as ActuatorInfo, Q as Sites, U as SitePositionResult, W as Sensors, X as SensorHandle, Y as SensorInfo, Z as Joints, _ as JointStateResult, $ as Bodies, a0 as BodyStateResult, a1 as Actuators, a2 as CtrlHandle, a3 as ContactInfo, a4 as KeyboardTeleopConfig, a5 as KeyboardIkTargetConfig, a6 as PolicyConfig, a7 as PolicyVector, a8 as ObservationHandle, a9 as TrajectoryInput, aa as TrajectoryStateChangeInput, ab as PlaybackState, ac as TrajectoryFrame, ad as FrameCaptureOptions, ae as FrameCaptureResult, af as FrameCaptureBlobResult, ag as FrameCaptureAPI, ah as CameraFrameCaptureOptions, ai as CameraFrameCaptureAPI, aj as CameraFrameSequenceRecorderAPI, ak as Cameras, al as CameraFrameSequenceCamera, am as CameraFrameCaptureSource, an as CameraFrameSequenceOptions, ao as CameraFrameSequenceResult, ap as CameraFrameCaptureResult, aq as CameraFrameCaptureBlobResult } from './types-C1rwH74Y.js';
3
- export { ar as BodyInfo, as as CameraFrameCaptureQuaternion, at as CameraFrameCaptureVector3, au as CameraFrameSequenceCameraSummary, av as CameraFrameSequenceFrame, aw as CameraFrameSequenceSampleInput, ax as CameraFrameSequenceStepInput, ay as CameraInfo, az as ControlJointInfo, aA as FrameCaptureStatus, aB as FrameCaptureTarget, aC as FrameCaptureTargetRef, aD as Geoms, aE as IKSolveFn, aF as IkGizmoDragInput, aG as IkSolveInput, aH as JointInfo, aI as KeyBinding, aJ as KeyboardIkTargetAction, aK as KeyboardIkTargetBinding, aL as Keyframes, aM as ModelOptions, aN as MujocoContact, aO as MujocoContactArray, aP as MujocoFrameCaptureOptions, aQ as ObservationLayoutItem, aR as ObservationOutput, aS as PhysicsConfig, aT as PhysicsStepInput, aU as PolicyActionInput, aV as PolicyInferenceInput, aW as PolicyObservationInput, aX as RayHit, aY as Register, aZ as RegisteredRobotMap, a_ as ResetCallbackInput, a$ as ResolvedScenarioCameraConfig, b0 as ResolvedScenarioMaterialConfig, b1 as ResourceSelector, b2 as RobotActuators, b3 as RobotBodies, b4 as RobotCameras, b5 as RobotGeoms, b6 as RobotJoints, b7 as RobotKeyframes, b8 as RobotResource, b9 as RobotResources, ba as RobotSensors, bb as RobotSites, bc as Robots, bd as ScenarioCameraConfig, be as ScenarioMaterialConfig, bf as SceneMarker, bg as SceneObject, bh as SensorResult, bi as SiteInfo, bj as SplatAssetConfig, bk as SplatScenarioConfig, bl as StateSnapshot, bm as TrajectoryData, bn as TrajectoryFrameCallbackInput, bo as VisualScenarioMaterialFilterInput, bp as XmlPatch, bq as getContact, br as registerRobotResources } from './types-C1rwH74Y.js';
2
+ import { M as MujocoContextValue, a as MujocoCanvasProps, b as MujocoSimAPI, S as SceneConfig, R as ReadyCallbackInput, c as StepCallbackInput, d as SelectionCallbackInput, e as MujocoModule, P as PhysicsStepCallback, f as MujocoModel, g as MujocoData, C as ControlGroupInfo, A as ActuatedJointInfo, h as ControlGroupSelector, O as ObservationConfig, i as ObservationResult, I as IkConfig, j as IkContextValue, B as BodyProps, k as IkGizmoProps, D as DragInteractionProps, l as SceneLightsProps, m as ScenarioLightingProps, n as SplatEnvironmentProps, V as VisualScenarioEffectsProps, o as VisualScenarioConfig, p as SplatRendererKind, q as PairedSplatEnvironmentConfig, r as SplatFormat, s as SplatCollisionProxyConfig, t as SplatEnvironmentReadiness, u as SplatCollisionPrimitive, v as SplatEnvironmentReadinessStatus, w as SplatSceneConfigInput, x as SplatSceneConfigState, y as VisualScenarioExecutionContextInput, z as VisualScenarioExecutionContext, E as ScenarioLightingPreset, F as SplatEnvironmentMetadataInput, G as SplatEnvironmentMetadata, H as SplatSceneInput, J as DebugProps, K as GeomInfo, L as ContactListenerProps, T as TrajectoryPlayerProps, N as ActuatorInfo, Q as Sites, U as SitePositionResult, W as Sensors, X as SensorHandle, Y as SensorInfo, Z as Joints, _ as ScalarJointStateResult, $ as ArrayJointStateResult, a0 as JointStateOptions, a1 as JointStateResult, a2 as Bodies, a3 as BodyStateResult, a4 as Actuators, a5 as CtrlHandle, a6 as ContactInfo, a7 as KeyboardTeleopConfig, a8 as KeyboardIkTargetConfig, a9 as PolicyConfig, aa as PolicyVector, ab as ObservationHandle, ac as TrajectoryInput, ad as TrajectoryStateChangeInput, ae as PlaybackState, af as TrajectoryFrame, ag as FrameCaptureOptions, ah as FrameCaptureResult, ai as FrameCaptureBlobResult, aj as FrameCaptureAPI, ak as CameraFrameCaptureOptions, al as CameraFrameCaptureAPI, am as CameraFrameSequenceRecorderAPI, an as Cameras, ao as CameraFrameSequenceCamera, ap as CameraFrameCaptureSource, aq as CameraFrameSequenceOptions, ar as CameraFrameSequenceResult, as as CameraFrameCaptureResult, at as CameraFrameCaptureBlobResult } from './types-BaSMqJHT.js';
3
+ export { au as BodyInfo, av as CameraFrameCaptureQuaternion, aw as CameraFrameCaptureVector3, ax as CameraFrameSequenceCameraSummary, ay as CameraFrameSequenceFrame, az as CameraFrameSequenceSampleInput, aA as CameraFrameSequenceStepInput, aB as CameraInfo, aC as ControlJointInfo, aD as FrameCaptureStatus, aE as FrameCaptureTarget, aF as FrameCaptureTargetRef, aG as Geoms, aH as IKSolveFn, aI as IkGizmoDragInput, aJ as IkSolveInput, aK as JointInfo, aL as JointStateKind, aM as KeyBinding, aN as KeyboardIkTargetAction, aO as KeyboardIkTargetBinding, aP as Keyframes, aQ as ModelActuators, aR as ModelBodies, aS as ModelCameras, aT as ModelGeoms, aU as ModelJoints, aV as ModelKeyframes, aW as ModelOptions, aX as ModelResource, aY as ModelResources, aZ as ModelSensors, a_ as ModelSites, a$ as Models, b0 as MujocoContact, b1 as MujocoContactArray, b2 as MujocoFrameCaptureOptions, b3 as ObservationLayoutItem, b4 as ObservationOutput, b5 as PhysicsConfig, b6 as PhysicsStepInput, b7 as PolicyActionInput, b8 as PolicyInferenceInput, b9 as PolicyObservationInput, ba as RayHit, bb as Register, bc as RegisteredModelMap, bd as ResetCallbackInput, be as ResolvedScenarioCameraConfig, bf as ResolvedScenarioMaterialConfig, bg as ResourceSelector, bh as ScenarioCameraConfig, bi as ScenarioMaterialConfig, bj as SceneMarker, bk as SceneObject, bl as SensorResult, bm as SiteInfo, bn as SplatAssetConfig, bo as SplatScenarioConfig, bp as StateSnapshot, bq as TrajectoryData, br as TrajectoryFrameCallbackInput, bs as VisualScenarioMaterialFilterInput, bt as XmlPatch, bu as getContact, bv as registerModelResources } from './types-BaSMqJHT.js';
4
4
  import * as React$1 from 'react';
5
5
  import { ThreeElements } from '@react-three/fiber';
6
6
  import * as THREE from 'three';
@@ -196,7 +196,7 @@ interface LoadResult {
196
196
  mjData: MujocoData;
197
197
  }
198
198
  /**
199
- * Config-driven scene loader — replaces the old RobotLoader + patchSingleRobot approach.
199
+ * Config-driven scene loader — replaces the old single-model patching approach.
200
200
  */
201
201
  declare function loadScene(mujoco: MujocoModule, config: SceneConfig, onProgress?: (msg: string) => void): Promise<LoadResult>;
202
202
 
@@ -242,7 +242,7 @@ type ControllerComponent<TConfig> = React.FC<{
242
242
  * const MyController = createController<{ speed: number }>(
243
243
  * { name: 'my-controller', defaultConfig: { speed: 1.0 } },
244
244
  * function MyControllerImpl({ config }) {
245
- * const wheel = useCtrl(RobotActuators.mobile.leftWheel);
245
+ * const wheel = useCtrl(ModelActuators.mobile.leftWheel);
246
246
  *
247
247
  * useBeforePhysicsStep(({ data }) => {
248
248
  * wheel.write(config.speed);
@@ -271,7 +271,7 @@ declare function createController<TConfig>(options: ControllerOptions<TConfig>,
271
271
  * { name: 'useMyController', defaultConfig: { gain: 1.0 } },
272
272
  * function useMyControllerImpl(config) {
273
273
  * // config is MyConfig | null — hooks must be called unconditionally
274
- * const joint = useCtrl(config?.actuator ?? RobotActuators.franka.actuator1);
274
+ * const joint = useCtrl(config?.actuator ?? ModelActuators.franka.actuator1);
275
275
  *
276
276
  * useBeforePhysicsStep(({ data }) => {
277
277
  * if (!config) return;
@@ -604,11 +604,17 @@ declare function useSensors(): SensorInfo[];
604
604
  * Track a MuJoCo joint's position and velocity by name.
605
605
  * Values are updated every physics frame via refs (no re-renders).
606
606
  *
607
- * For hinge/slide joints, position/velocity are scalar (stored as Float64Array of length 1).
607
+ * For hinge/slide joints, position/velocity are scalar numbers.
608
608
  * For ball joints, position is quat (4), velocity is angular vel (3).
609
609
  * For free joints, position is pos+quat (7), velocity is lin+ang vel (6).
610
610
  */
611
- declare function useJointState(name: Joints): JointStateResult;
611
+ declare function useJointState(name: Joints, options: {
612
+ kind: 'scalar';
613
+ }): ScalarJointStateResult;
614
+ declare function useJointState(name: Joints, options: {
615
+ kind: 'array';
616
+ }): ArrayJointStateResult;
617
+ declare function useJointState(name: Joints, options?: JointStateOptions): JointStateResult;
612
618
 
613
619
  /**
614
620
  * @license
@@ -1195,4 +1201,4 @@ interface CameraAnimationAPI {
1195
1201
  */
1196
1202
  declare function useCameraAnimation(): CameraAnimationAPI;
1197
1203
 
1198
- export { ActuatedJointInfo, ActuatorInfo, Actuators, Bodies, Body, BodyProps, BodyStateResult, CAPTURE_EXCLUDE_KEY, type CameraAnimationAPI, CameraFrameCaptureAPI, CameraFrameCaptureBlobResult, CameraFrameCaptureOptions, CameraFrameCaptureResult, CameraFrameCaptureSource, type CameraFrameMountSelector, CameraFrameSequenceCamera, CameraFrameSequenceOptions, CameraFrameSequenceRecorderAPI, CameraFrameSequenceResult, Cameras, ContactInfo, ContactListener, ContactListenerProps, ContactMarkers, ControlGroupInfo, ControlGroupSelector, type ControllerComponent, type ControllerOptions, type CreateMountedCameraFrameSequenceManifestOptions, type CreateMountedCameraFrameSequencePlanOptions, CtrlHandle, Debug, DebugProps, DragInteraction, DragInteractionProps, FlexRenderer, FrameCaptureAPI, FrameCaptureBlobResult, FrameCaptureOptions, FrameCaptureResult, GeomInfo, IkConfig, IkContextValue, IkGizmo, IkGizmoProps, InstancedGeomRenderer, JointStateResult, Joints, KeyboardIkTargetConfig, KeyboardTeleopConfig, type MountedCameraFrameCaptureSource, type MountedCameraFrameSequenceCameraOptions, type MountedCameraFrameSequenceDefaults, type MountedCameraFrameSequenceManifest, MountedCameraFrameSequenceManifestStatus, type MountedCameraFrameSequencePlan, type MountedCameraFrameSequencePlanOptions, type MountedCameraFrameSequenceReadiness, MountedCameraFrameSequenceReadinessStatus, type MountedCameraFrameSequenceRecordOptions, type MountedCameraFrameSequenceRecordResult, type MountedCameraFrameSequenceRecorderTarget, type MountedCameraFrameSequenceSourceReadiness, type MountedCameraFrameSequenceStreamSummary, type MountedCameraFrameSourceSuggestion, MountedCameraFrameSourceSuggestionMatch, type MountedCameraSequencePlanOptions, type MountedCameraSequenceReadiness, type MountedCameraSequenceRecordOptions, type MountedCameraSequenceRecordResult, type MountedCameraSequenceRecorderAPI, MujocoCanvas, MujocoCanvasProps, MujocoContextValue, MujocoData, type MujocoLoader, type MujocoLoaderOptions, MujocoModel, MujocoModule, MujocoPhysics, type MujocoPhysicsProps, MujocoProvider, type MujocoProviderProps, MujocoSimAPI, MujocoSimProvider, type MujocoWasmVariant, type NamedCameraFrameResource, ObservationConfig, ObservationHandle, ObservationResult, PairedSplatEnvironmentConfig, PhysicsStepCallback, PlaybackState, PolicyConfig, PolicyVector, ReadyCallbackInput, type ResolveMountedCameraFrameSourceOptions, type ResolvedMountedCameraFrameSource, ScenarioLighting, ScenarioLightingPreset, ScenarioLightingProps, SceneConfig, SceneLights, SceneLightsProps, SelectionCallbackInput, SensorHandle, SensorInfo, Sensors, SitePositionResult, Sites, SplatCollisionPrimitive, SplatCollisionProxyConfig, type SplatCollisionProxyGeomPreview, type SplatCollisionProxyGeomsState, SplatCollisionProxyPreview, type SplatCollisionProxyPreviewProps, type SplatCollisionProxyPreviewStatus, type SplatCollisionProxyPreviewVector3, SplatEnvironment, SplatEnvironmentMetadata, SplatEnvironmentMetadataInput, SplatEnvironmentProps, SplatEnvironmentReadiness, SplatEnvironmentReadinessStatus, SplatFormat, SplatRendererKind, SplatSceneConfigInput, SplatSceneConfigState, SplatSceneInput, StepCallbackInput, TendonRenderer, TrajectoryFrame, TrajectoryInput, TrajectoryPlayer, TrajectoryPlayerProps, TrajectoryStateChangeInput, type UseSplatCollisionProxyGeomsOptions, VisualScenarioConfig, VisualScenarioEffects, VisualScenarioEffectsProps, VisualScenarioExecutionContext, VisualScenarioExecutionContextInput, buildObservation, canFetchSplatCollisionProxyXml, captureCameraFrame, captureCameraFrameBlob, captureFrame, captureFrameBlob, createCameraFrameCaptureSession, createContiguousControlGroup, createController, createControllerHook, createMountedCameraFrameSequenceManifest, createMountedCameraFrameSequencePlan, createMountedCameraFrameSequencePlanFromApi, createMountedCameraFrameSequenceReadiness, createMountedCameraFrameSourceSuggestions, createPairedSplatEnvironment, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, fetchSplatCollisionProxyXml, findActuatorByName, findBodyByName, findGeomByName, findJointByName, findKeyframeByName, findSensorByName, findSiteByName, findTendonByName, getActuatedJoints, getCameraFrameCaptureSourceTarget, getControlMap, getMountedCameraFrameCaptureSource, getName, getScenarioBackground, getScenarioCameraPosition, getSplatEnvironmentReadiness, isMountedCameraFrameCaptureSource, loadScene, parseSplatCollisionProxyGeoms, recordMountedCameraFrameSequence, renderCameraFrameToCanvas, resolveControlGroup, resolveMountedCameraFrameSource, useActuators, useAfterPhysicsStep, useBeforePhysicsStep, useBodyMeshes, useBodyState, useCameraAnimation, useCameraFrameCapture, useCameraSequenceRecorder, useContactEvents, useContacts, useCtrl, useCtrlNoise, useFrameCapture, useGamepad, useGravityCompensation, useIkController, useJointState, useKeyboardIkTarget, useKeyboardTeleop, useMountedCameraSequenceRecorder, useMujoco, useMujocoWasm, useObservation, usePolicy, useSceneLights, useSelectionHighlight, useSensor, useSensors, useSitePosition, useSplatCollisionProxyGeoms, useSplatEnvironment, useSplatSceneConfig, useTrajectoryPlayer, useTrajectoryRecorder, useVideoRecorder, useVisualScenarioEffects, useVisualScenarioExecutionContext, withSplatEnvironment };
1204
+ export { ActuatedJointInfo, ActuatorInfo, Actuators, ArrayJointStateResult, Bodies, Body, BodyProps, BodyStateResult, CAPTURE_EXCLUDE_KEY, type CameraAnimationAPI, CameraFrameCaptureAPI, CameraFrameCaptureBlobResult, CameraFrameCaptureOptions, CameraFrameCaptureResult, CameraFrameCaptureSource, type CameraFrameMountSelector, CameraFrameSequenceCamera, CameraFrameSequenceOptions, CameraFrameSequenceRecorderAPI, CameraFrameSequenceResult, Cameras, ContactInfo, ContactListener, ContactListenerProps, ContactMarkers, ControlGroupInfo, ControlGroupSelector, type ControllerComponent, type ControllerOptions, type CreateMountedCameraFrameSequenceManifestOptions, type CreateMountedCameraFrameSequencePlanOptions, CtrlHandle, Debug, DebugProps, DragInteraction, DragInteractionProps, FlexRenderer, FrameCaptureAPI, FrameCaptureBlobResult, FrameCaptureOptions, FrameCaptureResult, GeomInfo, IkConfig, IkContextValue, IkGizmo, IkGizmoProps, InstancedGeomRenderer, JointStateOptions, JointStateResult, Joints, KeyboardIkTargetConfig, KeyboardTeleopConfig, type MountedCameraFrameCaptureSource, type MountedCameraFrameSequenceCameraOptions, type MountedCameraFrameSequenceDefaults, type MountedCameraFrameSequenceManifest, MountedCameraFrameSequenceManifestStatus, type MountedCameraFrameSequencePlan, type MountedCameraFrameSequencePlanOptions, type MountedCameraFrameSequenceReadiness, MountedCameraFrameSequenceReadinessStatus, type MountedCameraFrameSequenceRecordOptions, type MountedCameraFrameSequenceRecordResult, type MountedCameraFrameSequenceRecorderTarget, type MountedCameraFrameSequenceSourceReadiness, type MountedCameraFrameSequenceStreamSummary, type MountedCameraFrameSourceSuggestion, MountedCameraFrameSourceSuggestionMatch, type MountedCameraSequencePlanOptions, type MountedCameraSequenceReadiness, type MountedCameraSequenceRecordOptions, type MountedCameraSequenceRecordResult, type MountedCameraSequenceRecorderAPI, MujocoCanvas, MujocoCanvasProps, MujocoContextValue, MujocoData, type MujocoLoader, type MujocoLoaderOptions, MujocoModel, MujocoModule, MujocoPhysics, type MujocoPhysicsProps, MujocoProvider, type MujocoProviderProps, MujocoSimAPI, MujocoSimProvider, type MujocoWasmVariant, type NamedCameraFrameResource, ObservationConfig, ObservationHandle, ObservationResult, PairedSplatEnvironmentConfig, PhysicsStepCallback, PlaybackState, PolicyConfig, PolicyVector, ReadyCallbackInput, type ResolveMountedCameraFrameSourceOptions, type ResolvedMountedCameraFrameSource, ScalarJointStateResult, ScenarioLighting, ScenarioLightingPreset, ScenarioLightingProps, SceneConfig, SceneLights, SceneLightsProps, SelectionCallbackInput, SensorHandle, SensorInfo, Sensors, SitePositionResult, Sites, SplatCollisionPrimitive, SplatCollisionProxyConfig, type SplatCollisionProxyGeomPreview, type SplatCollisionProxyGeomsState, SplatCollisionProxyPreview, type SplatCollisionProxyPreviewProps, type SplatCollisionProxyPreviewStatus, type SplatCollisionProxyPreviewVector3, SplatEnvironment, SplatEnvironmentMetadata, SplatEnvironmentMetadataInput, SplatEnvironmentProps, SplatEnvironmentReadiness, SplatEnvironmentReadinessStatus, SplatFormat, SplatRendererKind, SplatSceneConfigInput, SplatSceneConfigState, SplatSceneInput, StepCallbackInput, TendonRenderer, TrajectoryFrame, TrajectoryInput, TrajectoryPlayer, TrajectoryPlayerProps, TrajectoryStateChangeInput, type UseSplatCollisionProxyGeomsOptions, VisualScenarioConfig, VisualScenarioEffects, VisualScenarioEffectsProps, VisualScenarioExecutionContext, VisualScenarioExecutionContextInput, buildObservation, canFetchSplatCollisionProxyXml, captureCameraFrame, captureCameraFrameBlob, captureFrame, captureFrameBlob, createCameraFrameCaptureSession, createContiguousControlGroup, createController, createControllerHook, createMountedCameraFrameSequenceManifest, createMountedCameraFrameSequencePlan, createMountedCameraFrameSequencePlanFromApi, createMountedCameraFrameSequenceReadiness, createMountedCameraFrameSourceSuggestions, createPairedSplatEnvironment, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, fetchSplatCollisionProxyXml, findActuatorByName, findBodyByName, findGeomByName, findJointByName, findKeyframeByName, findSensorByName, findSiteByName, findTendonByName, getActuatedJoints, getCameraFrameCaptureSourceTarget, getControlMap, getMountedCameraFrameCaptureSource, getName, getScenarioBackground, getScenarioCameraPosition, getSplatEnvironmentReadiness, isMountedCameraFrameCaptureSource, loadScene, parseSplatCollisionProxyGeoms, recordMountedCameraFrameSequence, renderCameraFrameToCanvas, resolveControlGroup, resolveMountedCameraFrameSource, useActuators, useAfterPhysicsStep, useBeforePhysicsStep, useBodyMeshes, useBodyState, useCameraAnimation, useCameraFrameCapture, useCameraSequenceRecorder, useContactEvents, useContacts, useCtrl, useCtrlNoise, useFrameCapture, useGamepad, useGravityCompensation, useIkController, useJointState, useKeyboardIkTarget, useKeyboardTeleop, useMountedCameraSequenceRecorder, useMujoco, useMujocoWasm, useObservation, usePolicy, useSceneLights, useSelectionHighlight, useSensor, useSensors, useSitePosition, useSplatCollisionProxyGeoms, useSplatEnvironment, useSplatSceneConfig, useTrajectoryPlayer, useTrajectoryRecorder, useVideoRecorder, useVisualScenarioEffects, useVisualScenarioExecutionContext, withSplatEnvironment };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { withContacts, getContact, captureCameraFrame, captureCameraFrameBlob, createCameraFrameCaptureSession, CAPTURE_EXCLUDE_KEY } from './chunk-4JHALVB2.js';
2
- export { CAPTURE_EXCLUDE_KEY, RobotActuators, RobotBodies, RobotCameras, RobotGeoms, RobotJoints, RobotKeyframes, RobotResources, RobotSensors, RobotSites, ScenarioLighting, SplatEnvironment, SplatEnvironmentReadinessStatus, VisualScenarioEffects, captureCameraFrame, captureCameraFrameBlob, createCameraFrameCaptureSession, createPairedSplatEnvironment, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, getContact, getScenarioBackground, getScenarioCameraPosition, getSplatEnvironmentReadiness, registerRobotResources, renderCameraFrameToCanvas, useSplatEnvironment, useSplatSceneConfig, useVisualScenarioEffects, useVisualScenarioExecutionContext, withSplatEnvironment } from './chunk-4JHALVB2.js';
1
+ import { withContacts, getContact, captureCameraFrame, captureCameraFrameBlob, createCameraFrameCaptureSession, CAPTURE_EXCLUDE_KEY } from './chunk-QTCAVQS6.js';
2
+ export { CAPTURE_EXCLUDE_KEY, ModelActuators, ModelBodies, ModelCameras, ModelGeoms, ModelJoints, ModelKeyframes, ModelResources, ModelSensors, ModelSites, ScenarioLighting, SplatEnvironment, SplatEnvironmentReadinessStatus, VisualScenarioEffects, captureCameraFrame, captureCameraFrameBlob, createCameraFrameCaptureSession, createPairedSplatEnvironment, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, getContact, getScenarioBackground, getScenarioCameraPosition, getSplatEnvironmentReadiness, registerModelResources, renderCameraFrameToCanvas, useSplatEnvironment, useSplatSceneConfig, useVisualScenarioEffects, useVisualScenarioExecutionContext, withSplatEnvironment } from './chunk-QTCAVQS6.js';
3
3
  import loadMujoco from '@mujoco/mujoco';
4
4
  import defaultMujocoWasmUrl from '@mujoco/mujoco/mujoco.wasm?url';
5
5
  import { createContext, forwardRef, useEffect, useContext, useState, useRef, useCallback, useMemo, useLayoutEffect } from 'react';
@@ -3382,6 +3382,16 @@ var DEFAULTS = {
3382
3382
  posWeight: 1,
3383
3383
  rotWeight: 0.3
3384
3384
  };
3385
+ function resolveOptions(opts) {
3386
+ return {
3387
+ maxIterations: opts?.maxIterations ?? DEFAULTS.maxIterations,
3388
+ damping: opts?.damping ?? DEFAULTS.damping,
3389
+ tolerance: opts?.tolerance ?? DEFAULTS.tolerance,
3390
+ epsilon: opts?.epsilon ?? DEFAULTS.epsilon,
3391
+ posWeight: opts?.posWeight ?? DEFAULTS.posWeight,
3392
+ rotWeight: opts?.rotWeight ?? DEFAULTS.rotWeight
3393
+ };
3394
+ }
3385
3395
  var GenericIK = class {
3386
3396
  mujoco;
3387
3397
  constructor(mujoco) {
@@ -3400,7 +3410,7 @@ var GenericIK = class {
3400
3410
  * @returns Joint angles array, or null if solver diverged
3401
3411
  */
3402
3412
  solve(model, data, siteId, qposAdr, targetPos, targetQuat, currentQ, opts) {
3403
- const o = { ...DEFAULTS, ...opts };
3413
+ const o = resolveOptions(opts);
3404
3414
  const n = qposAdr.length;
3405
3415
  const savedQpos = new Float64Array(data.qpos.length);
3406
3416
  savedQpos.set(data.qpos);
@@ -5790,13 +5800,15 @@ function useSensors() {
5790
5800
  return result;
5791
5801
  }, [mjModelRef, status]);
5792
5802
  }
5793
- function useJointState(name) {
5803
+ function useJointState(name, options = {}) {
5794
5804
  const { mjModelRef, mjDataRef, status } = useMujocoContext();
5795
5805
  const jointIdRef = useRef(-1);
5796
5806
  const qposAdrRef = useRef(0);
5797
5807
  const dofAdrRef = useRef(0);
5798
5808
  const qposDimRef = useRef(1);
5799
5809
  const dofDimRef = useRef(1);
5810
+ const kindRef = useRef(options.kind ?? "auto");
5811
+ kindRef.current = options.kind ?? "auto";
5800
5812
  const positionRef = useRef(0);
5801
5813
  const velocityRef = useRef(0);
5802
5814
  const posBufferRef = useRef(null);
@@ -5820,7 +5832,7 @@ function useJointState(name) {
5820
5832
  qposDimRef.current = 1;
5821
5833
  dofDimRef.current = 1;
5822
5834
  }
5823
- if (qposDimRef.current > 1) {
5835
+ if (kindRef.current === "array" || qposDimRef.current > 1) {
5824
5836
  posBufferRef.current = new Float64Array(qposDimRef.current);
5825
5837
  velBufferRef.current = new Float64Array(dofDimRef.current);
5826
5838
  } else {
@@ -5831,12 +5843,12 @@ function useJointState(name) {
5831
5843
  }
5832
5844
  }
5833
5845
  jointIdRef.current = -1;
5834
- }, [name, status, mjModelRef]);
5846
+ }, [name, options.kind, status, mjModelRef]);
5835
5847
  useAfterPhysicsStep(({ data }) => {
5836
5848
  if (jointIdRef.current < 0) return;
5837
5849
  const qa = qposAdrRef.current;
5838
5850
  const da = dofAdrRef.current;
5839
- if (qposDimRef.current === 1) {
5851
+ if (kindRef.current === "scalar" || kindRef.current === "auto" && qposDimRef.current === 1) {
5840
5852
  positionRef.current = data.qpos[qa];
5841
5853
  velocityRef.current = data.qvel[da];
5842
5854
  } else {