mujoco-react 10.0.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-QTCAVQS6.js → chunk-FEKBKHEN.js} +56 -5
- package/dist/chunk-FEKBKHEN.js.map +1 -0
- package/dist/index.d.ts +271 -19
- package/dist/index.js +1459 -407
- package/dist/index.js.map +1 -1
- package/dist/spark.d.ts +1 -1
- package/dist/spark.js +1 -1
- package/dist/{types-BaSMqJHT.d.ts → types-BHBNJubg.d.ts} +133 -2
- package/package.json +1 -1
- package/src/components/SceneRenderer.tsx +11 -4
- package/src/core/GenericIK.ts +12 -1
- package/src/core/MujocoSimProvider.tsx +67 -6
- package/src/core/SceneLoader.ts +8 -2
- package/src/hooks/useContactHistory.ts +155 -0
- package/src/hooks/useControlWriter.ts +176 -0
- package/src/hooks/useNamedObservation.ts +42 -0
- package/src/hooks/usePolicy.ts +133 -10
- package/src/hooks/usePolicyCameraFrames.ts +162 -0
- package/src/hooks/usePose.ts +119 -0
- package/src/hooks/useRemotePolicy.ts +329 -0
- package/src/index.ts +81 -0
- package/src/policyCameraFrames.ts +213 -0
- package/src/policyControls.ts +87 -0
- package/src/policyObservation.ts +172 -0
- package/src/rendering/GeomBuilder.ts +73 -24
- package/src/rendering/cameraFrameCapture.ts +74 -2
- package/src/types.ts +151 -1
- package/dist/chunk-QTCAVQS6.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
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 ScalarJointStateResult, $ as ArrayJointStateResult, a0 as JointStateOptions, a1 as JointStateResult, a2 as Bodies, a3 as BodyStateResult, a4 as
|
|
3
|
-
export {
|
|
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 Geoms, a5 as Actuators, a6 as CtrlHandle, a7 as ContactInfo, a8 as KeyboardTeleopConfig, a9 as KeyboardIkTargetConfig, aa as PolicyConfig, ab as PolicyAPI, ac as RemotePolicyConfig, ad as RemotePolicyAPI, ae as ObservationHandle, af as ObservationOutput, ag as TrajectoryInput, ah as TrajectoryStateChangeInput, ai as PlaybackState, aj as TrajectoryFrame, ak as FrameCaptureOptions, al as FrameCaptureResult, am as FrameCaptureBlobResult, an as FrameCaptureAPI, ao as CameraFrameCaptureOptions, ap as CameraFrameCaptureAPI, aq as Cameras, ar as CameraFrameSequenceCamera, as as CameraFrameCaptureSource, at as CameraFrameSequenceOptions, au as CameraFrameSequenceResult, av as PolicyCameraFrameStream, aw as PolicyCameraFrameCaptureOptions, ax as PolicyCameraFrameCaptureResult, ay as FrameCaptureStatus, az as PolicyCameraFrameCaptureAPI, aA as CameraFrameSequenceRecorderAPI, aB as CameraFrameCaptureResult, aC as CameraFrameCaptureBlobResult, aD as PolicyVector } from './types-BHBNJubg.js';
|
|
3
|
+
export { aE as BodyInfo, aF as CameraFrameCaptureQuaternion, aG as CameraFrameCaptureVector3, aH as CameraFrameSequenceCameraSummary, aI as CameraFrameSequenceFrame, aJ as CameraFrameSequenceSampleInput, aK as CameraFrameSequenceStepInput, aL as CameraInfo, aM as ControlJointInfo, aN as FrameCaptureTarget, aO as FrameCaptureTargetRef, aP as IKSolveFn, aQ as IkGizmoDragInput, aR as IkSolveInput, aS as JointInfo, aT as JointStateKind, aU as KeyBinding, aV as KeyboardIkTargetAction, aW as KeyboardIkTargetBinding, aX as Keyframes, aY as ModelActuators, aZ as ModelBodies, a_ as ModelCameras, a$ as ModelGeoms, b0 as ModelJoints, b1 as ModelKeyframes, b2 as ModelOptions, b3 as ModelResource, b4 as ModelResources, b5 as ModelSensors, b6 as ModelSites, b7 as Models, b8 as MujocoContact, b9 as MujocoContactArray, ba as MujocoFrameCaptureOptions, bb as ObservationLayoutItem, bc as PhysicsConfig, bd as PhysicsStepInput, be as PolicyActionChunk, bf as PolicyActionInput, bg as PolicyInferenceInput, bh as PolicyInferenceOutput, bi as PolicyInferenceResult, bj as PolicyObservationInput, bk as RayHit, bl as Register, bm as RegisteredModelMap, bn as RemotePolicyRequestInfo, bo as RemotePolicyRequestInput, bp as RemotePolicyResponseInfo, bq as RemotePolicyStatus, br as ResetCallbackInput, bs as ResolvedScenarioCameraConfig, bt as ResolvedScenarioMaterialConfig, bu as ResourceSelector, bv as ScenarioCameraConfig, bw as ScenarioMaterialConfig, bx as SceneMarker, by as SceneObject, bz as SensorResult, bA as SiteInfo, bB as SplatAssetConfig, bC as SplatScenarioConfig, bD as StateSnapshot, bE as TrajectoryData, bF as TrajectoryFrameCallbackInput, bG as VisualScenarioMaterialFilterInput, bH as XmlPatch, bI as getContact, bJ as registerModelResources } from './types-BHBNJubg.js';
|
|
4
4
|
import * as React$1 from 'react';
|
|
5
|
+
import { RefObject } from 'react';
|
|
5
6
|
import { ThreeElements } from '@react-three/fiber';
|
|
6
7
|
import * as THREE from 'three';
|
|
7
8
|
|
|
@@ -629,6 +630,24 @@ declare function useJointState(name: Joints, options?: JointStateOptions): Joint
|
|
|
629
630
|
*/
|
|
630
631
|
declare function useBodyState(name: Bodies): BodyStateResult;
|
|
631
632
|
|
|
633
|
+
/**
|
|
634
|
+
* @license
|
|
635
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
636
|
+
*
|
|
637
|
+
* Ref-based world pose hooks for named MuJoCo bodies, geoms, and sites.
|
|
638
|
+
*/
|
|
639
|
+
|
|
640
|
+
type PoseResourceKind = 'body' | 'geom' | 'site';
|
|
641
|
+
interface PoseReadout {
|
|
642
|
+
id: RefObject<number>;
|
|
643
|
+
found: RefObject<boolean>;
|
|
644
|
+
position: RefObject<THREE.Vector3>;
|
|
645
|
+
quaternion: RefObject<THREE.Quaternion>;
|
|
646
|
+
}
|
|
647
|
+
declare function useBodyPose(name: Bodies): PoseReadout;
|
|
648
|
+
declare function useGeomPose(name: Geoms): PoseReadout;
|
|
649
|
+
declare function useSitePose(name: Sites): PoseReadout;
|
|
650
|
+
|
|
632
651
|
/**
|
|
633
652
|
* @license
|
|
634
653
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -644,6 +663,40 @@ declare function useBodyState(name: Bodies): BodyStateResult;
|
|
|
644
663
|
*/
|
|
645
664
|
declare function useCtrl(name: Actuators): CtrlHandle;
|
|
646
665
|
|
|
666
|
+
/**
|
|
667
|
+
* @license
|
|
668
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
669
|
+
*
|
|
670
|
+
* Cooperative actuator/control ownership for policies, IK, teleop, and replay.
|
|
671
|
+
*/
|
|
672
|
+
|
|
673
|
+
interface ControlWriterConflict {
|
|
674
|
+
actuatorIndex: number;
|
|
675
|
+
owner: string;
|
|
676
|
+
requestedBy: string;
|
|
677
|
+
}
|
|
678
|
+
interface ControlWriterOptions {
|
|
679
|
+
owner: string;
|
|
680
|
+
selector?: ControlGroupSelector;
|
|
681
|
+
enabled?: boolean;
|
|
682
|
+
warnOnConflict?: boolean;
|
|
683
|
+
allowSameOwner?: boolean;
|
|
684
|
+
onConflict?: (conflicts: ControlWriterConflict[]) => void;
|
|
685
|
+
}
|
|
686
|
+
interface ControlWriterWriteOptions {
|
|
687
|
+
force?: boolean;
|
|
688
|
+
}
|
|
689
|
+
interface ControlWriterHandle {
|
|
690
|
+
owner: string;
|
|
691
|
+
group: RefObject<ControlGroupInfo | null>;
|
|
692
|
+
conflicts: RefObject<ControlWriterConflict[]>;
|
|
693
|
+
canWrite: () => boolean;
|
|
694
|
+
read: () => Float64Array;
|
|
695
|
+
write: (values: ArrayLike<number>, options?: ControlWriterWriteOptions) => boolean;
|
|
696
|
+
release: () => void;
|
|
697
|
+
}
|
|
698
|
+
declare function useControlWriter(options: ControlWriterOptions): ControlWriterHandle;
|
|
699
|
+
|
|
647
700
|
/**
|
|
648
701
|
* @license
|
|
649
702
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -668,6 +721,33 @@ declare function useContactEvents(bodyName: Bodies, handlers: {
|
|
|
668
721
|
onExit?: (info: ContactInfo) => void;
|
|
669
722
|
}): void;
|
|
670
723
|
|
|
724
|
+
/**
|
|
725
|
+
* @license
|
|
726
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
727
|
+
*
|
|
728
|
+
* Bounded contact history for rollout verification and debugging.
|
|
729
|
+
*/
|
|
730
|
+
|
|
731
|
+
interface ContactHistoryEntry extends ContactInfo {
|
|
732
|
+
time: number;
|
|
733
|
+
body1: number;
|
|
734
|
+
body1Name: string;
|
|
735
|
+
body2: number;
|
|
736
|
+
body2Name: string;
|
|
737
|
+
}
|
|
738
|
+
interface ContactHistoryOptions {
|
|
739
|
+
maxLength?: number;
|
|
740
|
+
bodyNames?: readonly string[];
|
|
741
|
+
geomNames?: readonly string[];
|
|
742
|
+
includeWorldBody?: boolean;
|
|
743
|
+
}
|
|
744
|
+
interface ContactHistoryHandle {
|
|
745
|
+
entries: RefObject<ContactHistoryEntry[]>;
|
|
746
|
+
clear: () => void;
|
|
747
|
+
countPair: (nameA: string, nameB: string) => number;
|
|
748
|
+
}
|
|
749
|
+
declare function useContactHistory(options?: ContactHistoryOptions): ContactHistoryHandle;
|
|
750
|
+
|
|
671
751
|
/**
|
|
672
752
|
* @license
|
|
673
753
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -698,6 +778,13 @@ declare function useKeyboardTeleop(config: KeyboardTeleopConfig): void;
|
|
|
698
778
|
*/
|
|
699
779
|
declare function useKeyboardIkTarget(config: KeyboardIkTargetConfig | null): void;
|
|
700
780
|
|
|
781
|
+
/**
|
|
782
|
+
* @license
|
|
783
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
784
|
+
*
|
|
785
|
+
* usePolicy — policy decimation loop hook (spec 10.1)
|
|
786
|
+
*/
|
|
787
|
+
|
|
701
788
|
/**
|
|
702
789
|
* Framework-agnostic policy execution hook.
|
|
703
790
|
*
|
|
@@ -708,13 +795,23 @@ declare function useKeyboardIkTarget(config: KeyboardIkTargetConfig | null): voi
|
|
|
708
795
|
* @param config Policy configuration
|
|
709
796
|
* @returns { step, isRunning } control handles
|
|
710
797
|
*/
|
|
711
|
-
declare function usePolicy(config: PolicyConfig):
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
798
|
+
declare function usePolicy(config: PolicyConfig): PolicyAPI;
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* @license
|
|
802
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
803
|
+
*
|
|
804
|
+
* useRemotePolicy — HTTP JSON inference wrapper around usePolicy.
|
|
805
|
+
*/
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* Run a policy whose inference step lives behind an HTTP JSON endpoint.
|
|
809
|
+
*
|
|
810
|
+
* The hook keeps `usePolicy` responsible for timing, queueing, and pause/reset
|
|
811
|
+
* behavior. This wrapper only builds requests, parses responses, and exposes
|
|
812
|
+
* request metadata for HUDs and debugging.
|
|
813
|
+
*/
|
|
814
|
+
declare function useRemotePolicy(config: RemotePolicyConfig): RemotePolicyAPI;
|
|
718
815
|
|
|
719
816
|
/**
|
|
720
817
|
* @license
|
|
@@ -729,6 +826,61 @@ declare function usePolicy(config: PolicyConfig): {
|
|
|
729
826
|
*/
|
|
730
827
|
declare function useObservation(config: ObservationConfig): ObservationHandle;
|
|
731
828
|
|
|
829
|
+
/**
|
|
830
|
+
* @license
|
|
831
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
832
|
+
*
|
|
833
|
+
* Named policy observation builders with layout and units metadata.
|
|
834
|
+
*/
|
|
835
|
+
|
|
836
|
+
type NamedObservationMissing = 'skip' | 'zeros' | 'throw';
|
|
837
|
+
interface NamedObservationInput {
|
|
838
|
+
model: MujocoModel;
|
|
839
|
+
data: MujocoData;
|
|
840
|
+
}
|
|
841
|
+
interface NamedObservationField {
|
|
842
|
+
name: string;
|
|
843
|
+
size: number;
|
|
844
|
+
units?: string;
|
|
845
|
+
read: (input: NamedObservationInput) => ArrayLike<number> | number | null | undefined;
|
|
846
|
+
}
|
|
847
|
+
interface NamedObservationLayoutItem {
|
|
848
|
+
name: string;
|
|
849
|
+
start: number;
|
|
850
|
+
size: number;
|
|
851
|
+
units?: string;
|
|
852
|
+
}
|
|
853
|
+
interface NamedObservationOptions {
|
|
854
|
+
fields: readonly NamedObservationField[];
|
|
855
|
+
output?: ObservationOutput;
|
|
856
|
+
missing?: NamedObservationMissing;
|
|
857
|
+
}
|
|
858
|
+
interface NamedObservationResult {
|
|
859
|
+
values: Float32Array | Float64Array;
|
|
860
|
+
layout: NamedObservationLayoutItem[];
|
|
861
|
+
}
|
|
862
|
+
declare function readNamedObservation(model: MujocoModel, data: MujocoData, options: NamedObservationOptions): NamedObservationResult;
|
|
863
|
+
declare function createNamedObservationBuilder(options: NamedObservationOptions): (model: MujocoModel, data: MujocoData) => NamedObservationResult;
|
|
864
|
+
declare function qposField(name: string, index: number, units?: string): NamedObservationField;
|
|
865
|
+
declare function qvelField(name: string, index: number, units?: string): NamedObservationField;
|
|
866
|
+
declare function ctrlField(name: string, index: number, units?: string): NamedObservationField;
|
|
867
|
+
declare function bodyPositionField(name: Bodies, units?: string): NamedObservationField;
|
|
868
|
+
declare function geomPositionField(name: Geoms, units?: string): NamedObservationField;
|
|
869
|
+
declare function sitePositionField(name: Sites, units?: string): NamedObservationField;
|
|
870
|
+
|
|
871
|
+
/**
|
|
872
|
+
* @license
|
|
873
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
874
|
+
*
|
|
875
|
+
* Stable React handle for named policy observations.
|
|
876
|
+
*/
|
|
877
|
+
|
|
878
|
+
interface NamedObservationHandle {
|
|
879
|
+
read: () => NamedObservationResult;
|
|
880
|
+
readValues: () => Float32Array | Float64Array;
|
|
881
|
+
}
|
|
882
|
+
declare function useNamedObservation(options: NamedObservationOptions): NamedObservationHandle;
|
|
883
|
+
|
|
732
884
|
/**
|
|
733
885
|
* @license
|
|
734
886
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -870,15 +1022,6 @@ declare function useFrameCapture(defaultOptions?: FrameCaptureOptions): FrameCap
|
|
|
870
1022
|
|
|
871
1023
|
declare function useCameraFrameCapture(defaultOptions?: CameraFrameCaptureOptions): CameraFrameCaptureAPI;
|
|
872
1024
|
|
|
873
|
-
/**
|
|
874
|
-
* @license
|
|
875
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
876
|
-
*
|
|
877
|
-
* React state wrapper around fixed-camera simulation sequence recording.
|
|
878
|
-
*/
|
|
879
|
-
|
|
880
|
-
declare function useCameraSequenceRecorder(): CameraFrameSequenceRecorderAPI;
|
|
881
|
-
|
|
882
1025
|
/**
|
|
883
1026
|
* @license
|
|
884
1027
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -1044,6 +1187,71 @@ declare function createMountedCameraFrameSequenceManifest(result: MountedCameraF
|
|
|
1044
1187
|
declare function createMountedCameraFrameSequencePlanFromApi(api: MountedCameraFrameSequenceRecorderTarget, cameraKeys: readonly string[], options?: MountedCameraFrameSequencePlanOptions): MountedCameraFrameSequencePlan;
|
|
1045
1188
|
declare function recordMountedCameraFrameSequence(api: MountedCameraFrameSequenceRecorderTarget, options: MountedCameraFrameSequenceRecordOptions): Promise<MountedCameraFrameSequenceRecordResult>;
|
|
1046
1189
|
|
|
1190
|
+
/**
|
|
1191
|
+
* @license
|
|
1192
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
1193
|
+
*
|
|
1194
|
+
* Helpers for turning Three/MuJoCo camera captures into policy image payloads.
|
|
1195
|
+
*/
|
|
1196
|
+
|
|
1197
|
+
type PolicyCameraFrameCaptureTarget = Pick<MujocoSimAPI, 'captureCameraFrame'>;
|
|
1198
|
+
type PolicyCameraFramePlanTarget = Pick<MujocoSimAPI, 'getCameras' | 'getSites' | 'getBodies'>;
|
|
1199
|
+
type PolicyCameraFrameStreamOptions = Partial<Omit<PolicyCameraFrameStream, 'key'>> & MountedCameraFrameSequenceCameraOptions & {
|
|
1200
|
+
/** Additional policy payload keys that should receive this stream's data URL. */
|
|
1201
|
+
aliases?: readonly string[];
|
|
1202
|
+
};
|
|
1203
|
+
interface CreatePolicyCameraFrameCapturePlanOptions extends Omit<ResolveMountedCameraFrameSourceOptions, 'cameras' | 'sites' | 'bodies'> {
|
|
1204
|
+
cameraKeys: readonly string[];
|
|
1205
|
+
cameras?: ResolveMountedCameraFrameSourceOptions['cameras'];
|
|
1206
|
+
sites?: ResolveMountedCameraFrameSourceOptions['sites'];
|
|
1207
|
+
bodies?: ResolveMountedCameraFrameSourceOptions['bodies'];
|
|
1208
|
+
defaults?: MountedCameraFrameSequenceDefaults;
|
|
1209
|
+
streamOptions?: Record<string, PolicyCameraFrameStreamOptions>;
|
|
1210
|
+
includeObservationImageAliases?: boolean;
|
|
1211
|
+
requireAll?: boolean;
|
|
1212
|
+
}
|
|
1213
|
+
interface PolicyCameraFrameCapturePlan extends PolicyCameraFrameCaptureOptions {
|
|
1214
|
+
cameraKeys: string[];
|
|
1215
|
+
streams: PolicyCameraFrameStream[];
|
|
1216
|
+
mountedPlan: MountedCameraFrameSequencePlan;
|
|
1217
|
+
missingKeys: string[];
|
|
1218
|
+
}
|
|
1219
|
+
declare function createPolicyCameraFrameCapturePlan(options: CreatePolicyCameraFrameCapturePlanOptions): PolicyCameraFrameCapturePlan;
|
|
1220
|
+
declare function createPolicyCameraFrameCapturePlanFromApi(api: PolicyCameraFramePlanTarget, options: Omit<CreatePolicyCameraFrameCapturePlanOptions, 'cameras' | 'sites' | 'bodies'>): PolicyCameraFrameCapturePlan;
|
|
1221
|
+
declare function capturePolicyCameraFrames(target: PolicyCameraFrameCaptureTarget, options: PolicyCameraFrameCaptureOptions): Promise<PolicyCameraFrameCaptureResult>;
|
|
1222
|
+
declare function capturePolicyCameraFramesFromMountedStreams(target: PolicyCameraFrameCaptureTarget & PolicyCameraFramePlanTarget, options: Omit<CreatePolicyCameraFrameCapturePlanOptions, 'cameras' | 'sites' | 'bodies'>): Promise<PolicyCameraFrameCaptureResult & {
|
|
1223
|
+
plan: PolicyCameraFrameCapturePlan;
|
|
1224
|
+
}>;
|
|
1225
|
+
|
|
1226
|
+
/**
|
|
1227
|
+
* @license
|
|
1228
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
1229
|
+
*
|
|
1230
|
+
* React wrapper for capturing policy image payloads from Three/MuJoCo cameras.
|
|
1231
|
+
*/
|
|
1232
|
+
|
|
1233
|
+
type MountedPolicyCameraFrameCaptureOptions = Omit<CreatePolicyCameraFrameCapturePlanOptions, 'cameras' | 'sites' | 'bodies'>;
|
|
1234
|
+
interface MountedPolicyCameraFrameCaptureAPI {
|
|
1235
|
+
status: FrameCaptureStatus;
|
|
1236
|
+
error: Error | null;
|
|
1237
|
+
isCapturing: boolean;
|
|
1238
|
+
capture: (options?: Partial<MountedPolicyCameraFrameCaptureOptions>) => Promise<PolicyCameraFrameCaptureResult & {
|
|
1239
|
+
plan: PolicyCameraFrameCapturePlan;
|
|
1240
|
+
}>;
|
|
1241
|
+
reset: () => void;
|
|
1242
|
+
}
|
|
1243
|
+
declare function usePolicyCameraFrames(defaultOptions: PolicyCameraFrameCaptureOptions): PolicyCameraFrameCaptureAPI;
|
|
1244
|
+
declare function usePolicyCameraFramesFromMountedStreams(defaultOptions: MountedPolicyCameraFrameCaptureOptions): MountedPolicyCameraFrameCaptureAPI;
|
|
1245
|
+
|
|
1246
|
+
/**
|
|
1247
|
+
* @license
|
|
1248
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
1249
|
+
*
|
|
1250
|
+
* React state wrapper around fixed-camera simulation sequence recording.
|
|
1251
|
+
*/
|
|
1252
|
+
|
|
1253
|
+
declare function useCameraSequenceRecorder(): CameraFrameSequenceRecorderAPI;
|
|
1254
|
+
|
|
1047
1255
|
/**
|
|
1048
1256
|
* @license
|
|
1049
1257
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -1094,6 +1302,8 @@ interface CameraFrameCaptureSession {
|
|
|
1094
1302
|
captureBlob(options?: CameraFrameCaptureOptions): Promise<CameraFrameCaptureBlobResult>;
|
|
1095
1303
|
dispose(): void;
|
|
1096
1304
|
}
|
|
1305
|
+
declare const CAMERA_FRAME_CAPTURE_RENDER_USER_DATA_KEY = "mujocoReactCameraFrameCaptureRender";
|
|
1306
|
+
declare const CAMERA_FRAME_CAPTURE_PRE_RENDER_USER_DATA_KEY = "mujocoReactCameraFrameCapturePreRender";
|
|
1097
1307
|
declare const CAPTURE_EXCLUDE_KEY = "mujoco.capture.exclude";
|
|
1098
1308
|
declare function createCameraFrameCaptureSession(renderer: THREE.WebGLRenderer, scene: THREE.Scene, fallbackCamera: THREE.Camera, options?: CameraFrameCaptureOptions): CameraFrameCaptureSession;
|
|
1099
1309
|
declare function renderCameraFrameToCanvas(renderer: THREE.WebGLRenderer, scene: THREE.Scene, fallbackCamera: THREE.Camera, options?: CameraFrameCaptureOptions): {
|
|
@@ -1106,6 +1316,48 @@ declare function renderCameraFrameToCanvas(renderer: THREE.WebGLRenderer, scene:
|
|
|
1106
1316
|
declare function captureCameraFrame(renderer: THREE.WebGLRenderer, scene: THREE.Scene, fallbackCamera: THREE.Camera, options?: CameraFrameCaptureOptions): Promise<CameraFrameCaptureResult>;
|
|
1107
1317
|
declare function captureCameraFrameBlob(renderer: THREE.WebGLRenderer, scene: THREE.Scene, fallbackCamera: THREE.Camera, options?: CameraFrameCaptureOptions): Promise<CameraFrameCaptureBlobResult>;
|
|
1108
1318
|
|
|
1319
|
+
/**
|
|
1320
|
+
* @license
|
|
1321
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
1322
|
+
*
|
|
1323
|
+
* Helpers for applying policy action vectors to MuJoCo controls.
|
|
1324
|
+
*/
|
|
1325
|
+
|
|
1326
|
+
interface ApplyPolicyActionToControlsOptions {
|
|
1327
|
+
/**
|
|
1328
|
+
* First actuator/control index to write. Defaults to 0.
|
|
1329
|
+
*/
|
|
1330
|
+
actuatorOffset?: number;
|
|
1331
|
+
/**
|
|
1332
|
+
* Maximum number of controls to write. Defaults to the action length.
|
|
1333
|
+
*/
|
|
1334
|
+
actionSize?: number;
|
|
1335
|
+
/**
|
|
1336
|
+
* Clamp each action value to `model.actuator_ctrlrange` before writing.
|
|
1337
|
+
* Defaults to true because most learned policies should not exceed actuator limits.
|
|
1338
|
+
*/
|
|
1339
|
+
clamp?: boolean;
|
|
1340
|
+
/**
|
|
1341
|
+
* Leave the current control unchanged when an action entry is not finite.
|
|
1342
|
+
* Defaults to true so a bad policy response cannot write NaN into the simulation.
|
|
1343
|
+
*/
|
|
1344
|
+
skipInvalid?: boolean;
|
|
1345
|
+
}
|
|
1346
|
+
interface ApplyPolicyActionToControlsResult {
|
|
1347
|
+
/**
|
|
1348
|
+
* Values actually written to `data.ctrl`, after offset, truncation, and clamping.
|
|
1349
|
+
*/
|
|
1350
|
+
applied: number[];
|
|
1351
|
+
/**
|
|
1352
|
+
* Actuator indices that were not written because the corresponding action value
|
|
1353
|
+
* was not finite and `skipInvalid` was enabled.
|
|
1354
|
+
*/
|
|
1355
|
+
skipped: number[];
|
|
1356
|
+
actuatorOffset: number;
|
|
1357
|
+
}
|
|
1358
|
+
declare function clampPolicyActionValue(model: MujocoModel, actuatorIndex: number, value: number): number;
|
|
1359
|
+
declare function applyPolicyActionToControls(model: MujocoModel, data: MujocoData, action: PolicyVector, options?: ApplyPolicyActionToControlsOptions): ApplyPolicyActionToControlsResult;
|
|
1360
|
+
|
|
1109
1361
|
/**
|
|
1110
1362
|
* @license
|
|
1111
1363
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -1201,4 +1453,4 @@ interface CameraAnimationAPI {
|
|
|
1201
1453
|
*/
|
|
1202
1454
|
declare function useCameraAnimation(): CameraAnimationAPI;
|
|
1203
1455
|
|
|
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 };
|
|
1456
|
+
export { ActuatedJointInfo, ActuatorInfo, Actuators, type ApplyPolicyActionToControlsOptions, type ApplyPolicyActionToControlsResult, ArrayJointStateResult, Bodies, Body, BodyProps, BodyStateResult, CAMERA_FRAME_CAPTURE_PRE_RENDER_USER_DATA_KEY, CAMERA_FRAME_CAPTURE_RENDER_USER_DATA_KEY, CAPTURE_EXCLUDE_KEY, type CameraAnimationAPI, CameraFrameCaptureAPI, CameraFrameCaptureBlobResult, CameraFrameCaptureOptions, CameraFrameCaptureResult, CameraFrameCaptureSource, type CameraFrameMountSelector, CameraFrameSequenceCamera, CameraFrameSequenceOptions, CameraFrameSequenceRecorderAPI, CameraFrameSequenceResult, Cameras, type ContactHistoryEntry, type ContactHistoryHandle, type ContactHistoryOptions, ContactInfo, ContactListener, ContactListenerProps, ContactMarkers, ControlGroupInfo, ControlGroupSelector, type ControlWriterConflict, type ControlWriterHandle, type ControlWriterOptions, type ControlWriterWriteOptions, type ControllerComponent, type ControllerOptions, type CreateMountedCameraFrameSequenceManifestOptions, type CreateMountedCameraFrameSequencePlanOptions, type CreatePolicyCameraFrameCapturePlanOptions, CtrlHandle, Debug, DebugProps, DragInteraction, DragInteractionProps, FlexRenderer, FrameCaptureAPI, FrameCaptureBlobResult, FrameCaptureOptions, FrameCaptureResult, FrameCaptureStatus, GeomInfo, Geoms, 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, type MountedPolicyCameraFrameCaptureAPI, type MountedPolicyCameraFrameCaptureOptions, MujocoCanvas, MujocoCanvasProps, MujocoContextValue, MujocoData, type MujocoLoader, type MujocoLoaderOptions, MujocoModel, MujocoModule, MujocoPhysics, type MujocoPhysicsProps, MujocoProvider, type MujocoProviderProps, MujocoSimAPI, MujocoSimProvider, type MujocoWasmVariant, type NamedCameraFrameResource, type NamedObservationField, type NamedObservationHandle, type NamedObservationInput, type NamedObservationLayoutItem, type NamedObservationMissing, type NamedObservationOptions, type NamedObservationResult, ObservationConfig, ObservationHandle, ObservationOutput, ObservationResult, PairedSplatEnvironmentConfig, PhysicsStepCallback, PlaybackState, PolicyAPI, PolicyCameraFrameCaptureAPI, PolicyCameraFrameCaptureOptions, type PolicyCameraFrameCapturePlan, PolicyCameraFrameCaptureResult, type PolicyCameraFrameCaptureTarget, type PolicyCameraFramePlanTarget, PolicyCameraFrameStream, type PolicyCameraFrameStreamOptions, PolicyConfig, PolicyVector, type PoseReadout, type PoseResourceKind, ReadyCallbackInput, RemotePolicyAPI, RemotePolicyConfig, 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, applyPolicyActionToControls, bodyPositionField, buildObservation, canFetchSplatCollisionProxyXml, captureCameraFrame, captureCameraFrameBlob, captureFrame, captureFrameBlob, capturePolicyCameraFrames, capturePolicyCameraFramesFromMountedStreams, clampPolicyActionValue, createCameraFrameCaptureSession, createContiguousControlGroup, createController, createControllerHook, createMountedCameraFrameSequenceManifest, createMountedCameraFrameSequencePlan, createMountedCameraFrameSequencePlanFromApi, createMountedCameraFrameSequenceReadiness, createMountedCameraFrameSourceSuggestions, createNamedObservationBuilder, createPairedSplatEnvironment, createPolicyCameraFrameCapturePlan, createPolicyCameraFrameCapturePlanFromApi, createSparkSplatViewerUrl, createSplatEnvironmentUserData, createSplatSceneConfig, createVisualScenarioExecutionContext, ctrlField, fetchSplatCollisionProxyXml, findActuatorByName, findBodyByName, findGeomByName, findJointByName, findKeyframeByName, findSensorByName, findSiteByName, findTendonByName, geomPositionField, getActuatedJoints, getCameraFrameCaptureSourceTarget, getControlMap, getMountedCameraFrameCaptureSource, getName, getScenarioBackground, getScenarioCameraPosition, getSplatEnvironmentReadiness, isMountedCameraFrameCaptureSource, loadScene, parseSplatCollisionProxyGeoms, qposField, qvelField, readNamedObservation, recordMountedCameraFrameSequence, renderCameraFrameToCanvas, resolveControlGroup, resolveMountedCameraFrameSource, sitePositionField, useActuators, useAfterPhysicsStep, useBeforePhysicsStep, useBodyMeshes, useBodyPose, useBodyState, useCameraAnimation, useCameraFrameCapture, useCameraSequenceRecorder, useContactEvents, useContactHistory, useContacts, useControlWriter, useCtrl, useCtrlNoise, useFrameCapture, useGamepad, useGeomPose, useGravityCompensation, useIkController, useJointState, useKeyboardIkTarget, useKeyboardTeleop, useMountedCameraSequenceRecorder, useMujoco, useMujocoWasm, useNamedObservation, useObservation, usePolicy, usePolicyCameraFrames, usePolicyCameraFramesFromMountedStreams, useRemotePolicy, useSceneLights, useSelectionHighlight, useSensor, useSensors, useSitePose, useSitePosition, useSplatCollisionProxyGeoms, useSplatEnvironment, useSplatSceneConfig, useTrajectoryPlayer, useTrajectoryRecorder, useVideoRecorder, useVisualScenarioEffects, useVisualScenarioExecutionContext, withSplatEnvironment };
|