@galacean/engine-core 1.1.0-beta.2 → 1.1.0-beta.20

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.
Files changed (100) hide show
  1. package/dist/main.js +7718 -7223
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +7718 -7223
  4. package/dist/module.js +7708 -7225
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/2d/atlas/types.d.ts +3 -0
  8. package/types/2d/enums/SpriteModifyFlags.d.ts +2 -1
  9. package/types/Background.d.ts +8 -0
  10. package/types/Component.d.ts +1 -1
  11. package/types/DisorderedArray.d.ts +1 -1
  12. package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
  13. package/types/RenderPipeline/SpriteElement.d.ts +3 -1
  14. package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
  15. package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
  16. package/types/Scene.d.ts +6 -0
  17. package/types/asset/AssetPromise.d.ts +1 -0
  18. package/types/asset/ResourceManager.d.ts +0 -1
  19. package/types/lighting/DirectLight.d.ts +8 -1
  20. package/types/lighting/Light.d.ts +0 -4
  21. package/types/lighting/LightManager.d.ts +7 -0
  22. package/types/lighting/PointLight.d.ts +9 -1
  23. package/types/lighting/SpotLight.d.ts +12 -1
  24. package/types/mesh/SkinnedMeshRenderer.d.ts +1 -1
  25. package/types/mesh/SubModelMesh.d.ts +260 -0
  26. package/types/particle/ParticleGenerator.d.ts +0 -2
  27. package/types/particle/index.d.ts +10 -0
  28. package/types/particle/modules/EmissionModule.d.ts +0 -1
  29. package/types/particle/modules/MainModule.d.ts +7 -6
  30. package/types/particle/modules/ParticleGeneratorModule.d.ts +0 -1
  31. package/types/particle/modules/RotationOverLifetimeModule.d.ts +1 -1
  32. package/types/particle/modules/TextureSheetAnimationModule.d.ts +0 -4
  33. package/types/physics/Collider.d.ts +3 -1
  34. package/types/physics/PhysicsMaterial.d.ts +1 -0
  35. package/types/physics/joint/HingeJoint.d.ts +1 -1
  36. package/types/physics/joint/Joint.d.ts +4 -3
  37. package/types/physics/shape/ColliderShape.d.ts +2 -1
  38. package/types/physics/shape/SphereColliderShape.d.ts +1 -0
  39. package/types/shader/Shader.d.ts +1 -1
  40. package/types/xr/IXRDevice.d.ts +26 -0
  41. package/types/xr/XRManager.d.ts +89 -24
  42. package/types/xr/XRModule.d.ts +126 -0
  43. package/types/xr/component/XRPoseDriver.d.ts +5 -5
  44. package/types/xr/component/XRTrackingMode.d.ts +15 -0
  45. package/types/xr/component/trackable/XRAnchor.d.ts +4 -0
  46. package/types/xr/component/trackable/XRImage.d.ts +6 -0
  47. package/types/xr/component/trackable/XRPlane.d.ts +7 -0
  48. package/types/xr/component/trackable/XRTracked.d.ts +13 -0
  49. package/types/xr/feature/XRFeatureManager.d.ts +65 -0
  50. package/types/xr/feature/XRFeatureType.d.ts +17 -0
  51. package/types/xr/feature/XRPlatformFeature.d.ts +17 -0
  52. package/types/xr/feature/camera/IXRCameraDescriptor.d.ts +7 -0
  53. package/types/xr/feature/camera/XRCameraManager.d.ts +35 -0
  54. package/types/xr/feature/camera/XRPlatformCamera.d.ts +5 -0
  55. package/types/xr/feature/hitTest/XRHItTestType.d.ts +16 -0
  56. package/types/xr/feature/hitTest/XRHitTestManager.d.ts +38 -0
  57. package/types/xr/feature/movementTracking/IXRMovementTrackingDescriptor.d.ts +9 -0
  58. package/types/xr/feature/movementTracking/XRMovementTrackingManager.d.ts +8 -0
  59. package/types/xr/feature/movementTracking/XRMovementTrackingMode.d.ts +5 -0
  60. package/types/xr/feature/movementTracking/XRPlatformMovementTracking.d.ts +10 -0
  61. package/types/xr/feature/trackable/XRRequestTrackingState.d.ts +11 -0
  62. package/types/xr/feature/trackable/XRTrackableManager.d.ts +41 -0
  63. package/types/xr/feature/trackable/XRTrackablePlatformFeature.d.ts +29 -0
  64. package/types/xr/feature/trackable/XRTracked.d.ts +9 -0
  65. package/types/xr/feature/trackable/XRTrackedUpdateFlag.d.ts +11 -0
  66. package/types/xr/feature/trackable/XRTrackingState.d.ts +11 -0
  67. package/types/xr/feature/trackable/anchor/IXRAnchorTrackingDescriptor.d.ts +8 -0
  68. package/types/xr/feature/trackable/anchor/XRAnchorTrackingManager.d.ts +22 -0
  69. package/types/xr/feature/trackable/anchor/XRAnchorTrackingMode.d.ts +4 -0
  70. package/types/xr/feature/trackable/anchor/XRPlatformAnchorTracking.d.ts +12 -0
  71. package/types/xr/feature/trackable/anchor/XRRequestTrackingAnchor.d.ts +10 -0
  72. package/types/xr/feature/trackable/image/IXRImageTrackingDescriptor.d.ts +5 -0
  73. package/types/xr/feature/trackable/image/XRImageTrackingManager.d.ts +33 -0
  74. package/types/xr/feature/trackable/image/XRPlatformImageTracking.d.ts +14 -0
  75. package/types/xr/feature/trackable/image/XRReferenceImage.d.ts +14 -0
  76. package/types/xr/feature/trackable/image/XRRequestTrackingImage.d.ts +11 -0
  77. package/types/xr/feature/trackable/image/XRTrackedImage.d.ts +5 -0
  78. package/types/xr/feature/trackable/plane/IXRPlaneTrackingDescriptor.d.ts +9 -0
  79. package/types/xr/feature/trackable/plane/XRPlaneDetectionMode.d.ts +13 -0
  80. package/types/xr/feature/trackable/plane/XRPlaneMode.d.ts +13 -0
  81. package/types/xr/feature/trackable/plane/XRPlaneTrackingManager.d.ts +14 -0
  82. package/types/xr/feature/trackable/plane/XRPlatformPlaneTracking.d.ts +11 -0
  83. package/types/xr/feature/trackable/plane/XRRequestTrackingPlane.d.ts +11 -0
  84. package/types/xr/feature/trackable/plane/XRTrackedPlane.d.ts +11 -0
  85. package/types/xr/index.d.ts +39 -18
  86. package/types/xr/input/XRCamera.d.ts +28 -0
  87. package/types/xr/input/XRController.d.ts +38 -0
  88. package/types/xr/input/XRControllerPoseMode.d.ts +9 -0
  89. package/types/xr/input/XRInput.d.ts +14 -0
  90. package/types/xr/input/XRInputButton.d.ts +19 -0
  91. package/types/xr/input/XRInputEvent.d.ts +24 -0
  92. package/types/xr/input/XRInputEventType.d.ts +11 -0
  93. package/types/xr/input/XRInputManager.d.ts +58 -0
  94. package/types/xr/input/XRInputType.d.ts +23 -0
  95. package/types/xr/input/XRTargetRayMode.d.ts +12 -0
  96. package/types/xr/input/XRTrackedUpdateFlag.d.ts +11 -0
  97. package/types/xr/input/XRTrackingState.d.ts +11 -0
  98. package/types/xr/session/XRSessionManager.d.ts +76 -0
  99. package/types/xr/session/XRSessionState.d.ts +13 -0
  100. package/types/xr/session/XRSessionType.d.ts +7 -0
@@ -0,0 +1,8 @@
1
+ import { IXRMovementTrackingDescriptor } from "./IXRMovementTrackingDescriptor";
2
+ import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
3
+ import { XRFeatureManager } from "../XRFeatureManager";
4
+ import { IXRMovementTracking } from "@galacean/engine-design";
5
+ export declare class XRMovementTrackingManager extends XRFeatureManager<IXRMovementTrackingDescriptor, IXRMovementTracking> {
6
+ get trackingMode(): XRMovementTrackingMode;
7
+ set trackingMode(value: XRMovementTrackingMode);
8
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum XRMovementTrackingMode {
2
+ None = 0,
3
+ Dof3 = 1,
4
+ Dof6 = 2
5
+ }
@@ -0,0 +1,10 @@
1
+ import { XRPlatformFeature } from "../XRPlatformFeature";
2
+ import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
3
+ /**
4
+ * The base class of XR platform movement tracking.
5
+ */
6
+ export declare abstract class XRPlatformMovementTracking extends XRPlatformFeature {
7
+ private _trackingMode;
8
+ get trackingMode(): XRMovementTrackingMode;
9
+ set trackingMode(value: XRMovementTrackingMode);
10
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enum for the state of a request to track a trackable.
3
+ */
4
+ export declare enum XRRequestTrackingState {
5
+ None = 0,
6
+ Submitted = 1,
7
+ Resolved = 2,
8
+ Rejected = 3,
9
+ Destroyed = 4,
10
+ WaitingDestroy = 5
11
+ }
@@ -0,0 +1,41 @@
1
+ import { IXRFeatureDescriptor, IXRFrame, IXRRequestTracking, IXRSession, IXRTrackableFeature, IXRTracked } from "@galacean/engine-design";
2
+ import { XRTrackedUpdateFlag } from "../../input/XRTrackedUpdateFlag";
3
+ import { XRFeatureManager } from "../XRFeatureManager";
4
+ import { XRTrackingState } from "../../input/XRTrackingState";
5
+ /**
6
+ * The base class of XR trackable manager.
7
+ */
8
+ export declare abstract class XRTrackableManager<TDescriptor extends IXRFeatureDescriptor, TXRTracked extends IXRTracked, TXRRequestTracking extends IXRRequestTracking<TXRTracked>, TTrackableFeature extends IXRTrackableFeature<TXRTracked, TXRRequestTracking>> extends XRFeatureManager<TDescriptor, TTrackableFeature> {
9
+ protected _requestTrackings: TXRRequestTracking[];
10
+ protected _trackedObjects: TXRTracked[];
11
+ protected _added: TXRTracked[];
12
+ protected _updated: TXRTracked[];
13
+ protected _removed: TXRTracked[];
14
+ protected _statusSnapshot: Record<number, XRTrackingState>;
15
+ private _trackedUpdateFlag;
16
+ /**
17
+ * Return Request tracking requirements.
18
+ */
19
+ get requestTrackings(): readonly TXRRequestTracking[];
20
+ /**
21
+ * Returns the tracked objects.
22
+ */
23
+ get trackedObjects(): readonly TXRTracked[];
24
+ addRequestTracking(add: TXRRequestTracking): void;
25
+ removeRequestTracking(remove: TXRRequestTracking): void;
26
+ removeAllRequestTrackings(): void;
27
+ /**
28
+ * Add a listening function to track changes.
29
+ * @param listener - The listening function
30
+ */
31
+ addListener(listener: (type: XRTrackedUpdateFlag, param: readonly TXRTracked[]) => any): void;
32
+ /**
33
+ * Remove a listening function to track changes.
34
+ * @param listener - The listening function
35
+ */
36
+ removeListener(listener: (type: XRTrackedUpdateFlag, param: readonly TXRTracked[]) => any): void;
37
+ onUpdate(session: IXRSession, frame: IXRFrame): void;
38
+ onSessionStop(): void;
39
+ onSessionDestroy(): void;
40
+ onDestroy(): void;
41
+ }
@@ -0,0 +1,29 @@
1
+ import { IXRTrackable } from "@galacean/engine-design";
2
+ import { XRPlatformFeature } from "../XRPlatformFeature";
3
+ /**
4
+ * The base class of XR trackable platform feature.
5
+ */
6
+ export declare abstract class XRTrackablePlatformFeature<T extends IXRTrackable> extends XRPlatformFeature {
7
+ private static _trackId;
8
+ protected _trackedObjects: T[];
9
+ protected _added: T[];
10
+ protected _updated: T[];
11
+ protected _removed: T[];
12
+ /**
13
+ * Returns the tracked objects.
14
+ */
15
+ get trackedObjects(): readonly T[];
16
+ /**
17
+ * Returns the changes tracked in this frame.
18
+ * @returns The changes of tracked objects
19
+ */
20
+ getChanges(): {
21
+ readonly added: T[];
22
+ readonly updated: T[];
23
+ readonly removed: T[];
24
+ };
25
+ _onSessionStop(): void;
26
+ _onSessionDestroy(): void;
27
+ _onDestroy(): void;
28
+ protected _generateUUID(): number;
29
+ }
@@ -0,0 +1,9 @@
1
+ import { IXRPose, IXRTracked } from "@galacean/engine-design";
2
+ import { XRTrackingState } from "../../input/XRTrackingState";
3
+ export declare class XRTracked implements IXRTracked {
4
+ id: number;
5
+ pose: IXRPose;
6
+ state: XRTrackingState;
7
+ frameCount: number;
8
+ constructor(id: number, pose: IXRPose, state?: XRTrackingState, frameCount?: number);
9
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enum for XR tracked update flag.
3
+ */
4
+ export declare enum XRTrackedUpdateFlag {
5
+ /** The object that was not tracked in the previous frame was tracked in this frame. */
6
+ Added = 0,
7
+ /** Both the previous frame and this frame are tracked */
8
+ Updated = 1,
9
+ /** The object that was tracked in the previous frame is not tracked in this frame. */
10
+ Removed = 2
11
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enum for XR tracking state.
3
+ */
4
+ export declare enum XRTrackingState {
5
+ /** Not tracking */
6
+ NotTracking = 0,
7
+ /** Tracking */
8
+ Tracking = 1,
9
+ /** Lost track */
10
+ TrackingLost = 2
11
+ }
@@ -0,0 +1,8 @@
1
+ import { IXRFeatureDescriptor, IXRPose } from "@galacean/engine-design";
2
+ /**
3
+ * The descriptor of XR anchor tracking.
4
+ */
5
+ export interface IXRAnchorTrackingDescriptor extends IXRFeatureDescriptor {
6
+ /** Request tracking anchor. */
7
+ anchors?: IXRPose[];
8
+ }
@@ -0,0 +1,22 @@
1
+ import { IXRAnchorTracking, IXRPose } from "@galacean/engine-design";
2
+ import { IXRAnchorTrackingDescriptor } from "./IXRAnchorTrackingDescriptor";
3
+ import { XRTrackableManager } from "../XRTrackableManager";
4
+ import { XRRequestTrackingAnchor } from "./XRRequestTrackingAnchor";
5
+ import { XRTracked } from "../XRTracked";
6
+ export declare class XRAnchorTrackingManager extends XRTrackableManager<IXRAnchorTrackingDescriptor, XRTracked, XRRequestTrackingAnchor, IXRAnchorTracking> {
7
+ /**
8
+ * Add a tracking anchor.
9
+ * @param pose - The pose of anchor to be added
10
+ */
11
+ addAnchor(pose: IXRPose): XRRequestTrackingAnchor;
12
+ /**
13
+ * Remove a tracking anchor.
14
+ * @param anchor - The anchor to be removed
15
+ */
16
+ removeAnchor(pose: IXRPose): void;
17
+ /**
18
+ * Remove all tracking anchors.
19
+ */
20
+ removeAllAnchors(): void;
21
+ initialize(): Promise<void>;
22
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum XRAnchorTrackingMode {
2
+ None = 0,
3
+ Auto = 1
4
+ }
@@ -0,0 +1,12 @@
1
+ import { IXRRequestTrackingAnchor, IXRTrackedAnchor } from "@galacean/engine-design";
2
+ import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
3
+ import { IXRAnchorTrackingDescriptor } from "./IXRAnchorTrackingDescriptor";
4
+ /**
5
+ * The base class of XR anchor tracking.
6
+ */
7
+ export declare abstract class XRPlatformAnchorTracking extends XRTrackablePlatformFeature<IXRTrackedAnchor> {
8
+ protected _requestTrackingAnchors: IXRRequestTrackingAnchor[];
9
+ get requestTrackingAnchors(): readonly IXRRequestTrackingAnchor[];
10
+ _initialize(descriptor: IXRAnchorTrackingDescriptor): Promise<void>;
11
+ protected _disposeAnchor(anchor: IXRRequestTrackingAnchor): void;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { IXRPose, IXRRequestTracking } from "@galacean/engine-design";
2
+ import { XRRequestTrackingState } from "../XRRequestTrackingState";
3
+ import { XRTracked } from "../XRTracked";
4
+ export declare class XRRequestTrackingAnchor implements IXRRequestTracking<XRTracked> {
5
+ pose: IXRPose;
6
+ state: XRRequestTrackingState;
7
+ tracked: XRTracked[];
8
+ constructor(pose: IXRPose, state?: XRRequestTrackingState, tracked?: XRTracked[]);
9
+ equals(other: XRRequestTrackingAnchor): boolean;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { IXRFeatureDescriptor } from "@galacean/engine-design";
2
+ import { XRReferenceImage } from "./XRReferenceImage";
3
+ export interface IXRImageTrackingDescriptor extends IXRFeatureDescriptor {
4
+ images?: XRReferenceImage[];
5
+ }
@@ -0,0 +1,33 @@
1
+ import { IXRImageTracking } from "@galacean/engine-design";
2
+ import { IXRImageTrackingDescriptor } from "./IXRImageTrackingDescriptor";
3
+ import { XRTrackableManager } from "../XRTrackableManager";
4
+ import { XRReferenceImage } from "./XRReferenceImage";
5
+ import { XRTrackedImage } from "./XRTrackedImage";
6
+ import { XRRequestTrackingImage } from "./XRRequestTrackingImage";
7
+ export declare class XRImageTrackingManager extends XRTrackableManager<IXRImageTrackingDescriptor, XRTrackedImage, XRRequestTrackingImage, IXRImageTracking> {
8
+ /**
9
+ * Add a tracking image
10
+ * @param image - xr reference image
11
+ */
12
+ addImage(image: XRReferenceImage): void;
13
+ /**
14
+ * Add tracking images
15
+ * @param images - xr reference images
16
+ */
17
+ addImage(images: XRReferenceImage[]): void;
18
+ /**
19
+ * Remove a tracking image
20
+ * @param image - xr reference image
21
+ */
22
+ removeImage(image: XRReferenceImage): void;
23
+ /**
24
+ * Remove tracking images
25
+ * @param images - xr reference images
26
+ */
27
+ removeImage(images: XRReferenceImage[]): void;
28
+ /**
29
+ * Remove all tracking images
30
+ */
31
+ removeAllImages(): void;
32
+ initialize(): Promise<void>;
33
+ }
@@ -0,0 +1,14 @@
1
+ import { IXRRequestTrackingImage, IXRTrackedImage } from "@galacean/engine-design";
2
+ import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
3
+ import { IXRImageTrackingDescriptor } from "./IXRImageTrackingDescriptor";
4
+ /**
5
+ * The base class of XR image tracking.
6
+ */
7
+ export declare abstract class XRPlatformImageTracking extends XRTrackablePlatformFeature<IXRTrackedImage> {
8
+ protected _requestTrackingImages: IXRRequestTrackingImage[];
9
+ get requestTrackingImages(): readonly IXRRequestTrackingImage[];
10
+ _initialize(descriptor: IXRImageTrackingDescriptor): Promise<void>;
11
+ _onSessionDestroy(): void;
12
+ _onDestroy(): void;
13
+ protected _disposeImage(image: IXRRequestTrackingImage): void;
14
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A reference image is an image to look for in the physical environment.
3
+ */
4
+ export declare class XRReferenceImage {
5
+ name: string;
6
+ src: string | HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas;
7
+ private _id;
8
+ physicalWidth: number;
9
+ physicalHeight: number;
10
+ private static _uuid;
11
+ constructor(name: string, src: string | HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas, _id?: number, physicalWidth?: number, physicalHeight?: number);
12
+ get id(): number;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { IXRRequestTracking } from "@galacean/engine-design";
2
+ import { XRRequestTrackingState } from "../XRRequestTrackingState";
3
+ import { XRTrackedImage } from "./XRTrackedImage";
4
+ import { XRReferenceImage } from "./XRReferenceImage";
5
+ export declare class XRRequestTrackingImage implements IXRRequestTracking<XRTrackedImage> {
6
+ image: XRReferenceImage;
7
+ state: XRRequestTrackingState;
8
+ tracked: XRTrackedImage[];
9
+ constructor(image: XRReferenceImage, state?: XRRequestTrackingState, tracked?: XRTrackedImage[]);
10
+ equals(other: XRRequestTrackingImage): boolean;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { XRTracked } from "../XRTracked";
2
+ export declare class XRTrackedImage extends XRTracked {
3
+ /** The width of the image in meters in the physical world. */
4
+ measuredWidthInMeters: number;
5
+ }
@@ -0,0 +1,9 @@
1
+ import { IXRFeatureDescriptor } from "@galacean/engine-design";
2
+ import { XRPlaneMode } from "./XRPlaneMode";
3
+ /**
4
+ * The descriptor of XR plane tracking.
5
+ */
6
+ export interface IXRPlaneTrackingDescriptor extends IXRFeatureDescriptor {
7
+ /** Rules for detecting planes. */
8
+ mode: XRPlaneMode;
9
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Enumerates valid modes of plane to detect.
3
+ */
4
+ export declare enum XRPlaneDetectionMode {
5
+ /** Plane detection is disabled. */
6
+ None = 0,
7
+ /** Plane detection will only detect horizontal planes. */
8
+ Horizontal = 1,
9
+ /** Plane detection will only detect vertical planes. */
10
+ Vertical = 2,
11
+ /** Plane detection will detect both horizontal and vertical planes. */
12
+ EveryThing = 3
13
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Enumerates modes of plane in XR.
3
+ */
4
+ export declare enum XRPlaneMode {
5
+ /** None. */
6
+ None = 0,
7
+ /** Horizontal */
8
+ Horizontal = 1,
9
+ /** Vertical */
10
+ Vertical = 2,
11
+ /** Includes horizontal and vertical. */
12
+ EveryThing = 3
13
+ }
@@ -0,0 +1,14 @@
1
+ import { IXRPlaneTrackingDescriptor } from "./IXRPlaneTrackingDescriptor";
2
+ import { XRPlaneMode } from "./XRPlaneMode";
3
+ import { XRTrackableManager } from "../XRTrackableManager";
4
+ import { XRTrackedPlane } from "./XRTrackedPlane";
5
+ import { XRRequestTrackingPlane } from "./XRRequestTrackingPlane";
6
+ import { IXRPlaneTracking } from "@galacean/engine-design";
7
+ export declare class XRPlaneTrackingManager extends XRTrackableManager<IXRPlaneTrackingDescriptor, XRTrackedPlane, XRRequestTrackingPlane, IXRPlaneTracking> {
8
+ /**
9
+ * Return the plane detection mode for XR.
10
+ */
11
+ get detectionMode(): XRPlaneMode;
12
+ set detectionMode(value: XRPlaneMode);
13
+ initialize(): Promise<void>;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { IXRTrackedPlane } from "@galacean/engine-design";
2
+ import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
3
+ import { XRPlaneDetectionMode } from "./XRPlaneDetectionMode";
4
+ /**
5
+ * The base class of XR plane tracking.
6
+ */
7
+ export declare abstract class XRPlatformPlaneTracking extends XRTrackablePlatformFeature<IXRTrackedPlane> {
8
+ protected _trackingMode: XRPlaneDetectionMode;
9
+ get trackingMode(): XRPlaneDetectionMode;
10
+ set trackingMode(value: XRPlaneDetectionMode);
11
+ }
@@ -0,0 +1,11 @@
1
+ import { IXRRequestTracking } from "@galacean/engine-design";
2
+ import { XRRequestTrackingState } from "../XRRequestTrackingState";
3
+ import { XRPlaneMode } from "./XRPlaneMode";
4
+ import { XRTrackedPlane } from "./XRTrackedPlane";
5
+ export declare class XRRequestTrackingPlane implements IXRRequestTracking<XRTrackedPlane> {
6
+ orientation: XRPlaneMode;
7
+ state: XRRequestTrackingState;
8
+ tracked: XRTrackedPlane[];
9
+ constructor(orientation: XRPlaneMode, state?: XRRequestTrackingState, tracked?: XRTrackedPlane[]);
10
+ equals(other: XRRequestTrackingPlane): boolean;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Vector3 } from "@galacean/engine-math";
2
+ import { XRTracked } from "../XRTracked";
3
+ export declare class XRTrackedPlane extends XRTracked {
4
+ /** Whether the detected plane is horizontal or vertical. */
5
+ orientation: number;
6
+ /** The points that make up this plane.
7
+ * Note: These points are in the plane coordinate system,
8
+ * and their Y coordinates are all zero.
9
+ */
10
+ polygon: Vector3[];
11
+ }
@@ -1,18 +1,39 @@
1
- export { XRManager, registerFeature } from "./XRManager";
2
- export { EnumXRMode } from "./enum/EnumXRMode";
3
- export { EnumXRButton } from "./enum/EnumXRButton";
4
- export { EnumXRFeature } from "./enum/EnumXRFeature";
5
- export { EnumXRSubsystem } from "./enum/EnumXRSubsystem";
6
- export { EnumXRDevicePhase } from "./enum/EnumXRDevicePhase";
7
- export { EnumXRInputSource } from "./enum/EnumXRInputSource";
8
- export { EnumXRTrackingMode } from "./enum/EnumXRTrackingMode";
9
- export { XRInputManager } from "./feature/XRInputManager";
10
- export { XRCameraManager } from "./feature/XRCameraManager";
11
- export { XRImageTrackManager } from "./feature/XRImageTrackManager";
12
- export { XRSubsystem } from "./subsystem/XRSubsystem";
13
- export { XRInputSubsystem } from "./subsystem/XRInputSubsystem";
14
- export { XRProvider } from "./provider/XRProvider";
15
- export { XRPoseDriver } from "./component/XRPoseDriver";
16
- export { XRDevice } from "./data/XRDevice";
17
- export { XRCamera } from "./data/XRCamera";
18
- export { XRHandle } from "./data/XRHandle";
1
+ export { XRManager, registerXRFeatureManager } from "./XRManager";
2
+ export type { IXRDevice } from "@galacean/engine-design/src/xr/IXRDevice";
3
+ export { XRFeatureType } from "./feature/XRFeatureType";
4
+ export { XRFeatureManager } from "./feature/XRFeatureManager";
5
+ export type { IXRCameraDescriptor } from "./feature/camera/IXRCameraDescriptor";
6
+ export { XRCameraManager } from "./feature/camera/XRCameraManager";
7
+ export { XRHitTestManager } from "./feature/hitTest/XRHitTestManager";
8
+ export { XRHitTestType } from "./feature/hitTest/XRHitTestType";
9
+ export { XRRequestTrackingState } from "./feature/trackable/XRRequestTrackingState";
10
+ export { XRTracked } from "./feature/trackable/XRTracked";
11
+ export type { IXRMovementTrackingDescriptor } from "./feature/movementTracking/IXRMovementTrackingDescriptor";
12
+ export { XRMovementTrackingManager } from "./feature/movementTracking/XRMovementTrackingManager";
13
+ export { XRMovementTrackingMode } from "./feature/movementTracking/XRMovementTrackingMode";
14
+ export type { IXRAnchorTrackingDescriptor } from "./feature/trackable/anchor/IXRAnchorTrackingDescriptor";
15
+ export { XRAnchorTrackingManager } from "./feature/trackable/anchor/XRAnchorTrackingManager";
16
+ export { XRRequestTrackingAnchor } from "./feature/trackable/anchor/XRRequestTrackingAnchor";
17
+ export type { IXRImageTrackingDescriptor } from "./feature/trackable/image/IXRImageTrackingDescriptor";
18
+ export { XRImageTrackingManager } from "./feature/trackable/image/XRImageTrackingManager";
19
+ export { XRReferenceImage } from "./feature/trackable/image/XRReferenceImage";
20
+ export { XRRequestTrackingImage } from "./feature/trackable/image/XRRequestTrackingImage";
21
+ export { XRTrackedImage } from "./feature/trackable/image/XRTrackedImage";
22
+ export type { IXRPlaneTrackingDescriptor } from "./feature/trackable/plane/IXRPlaneTrackingDescriptor";
23
+ export { XRPlaneTrackingManager } from "./feature/trackable/plane/XRPlaneTrackingManager";
24
+ export { XRPlaneMode } from "./feature/trackable/plane/XRPlaneMode";
25
+ export { XRRequestTrackingPlane } from "./feature/trackable/plane/XRRequestTrackingPlane";
26
+ export { XRTrackedPlane } from "./feature/trackable/plane/XRTrackedPlane";
27
+ export { XRTrackingState } from "./input/XRTrackingState";
28
+ export { XRInputManager } from "./input/XRInputManager";
29
+ export { XRInputButton } from "./input/XRInputButton";
30
+ export { XRInputEvent } from "./input/XRInputEvent";
31
+ export { XRController } from "./input/XRController";
32
+ export { XRInputType } from "./input/XRInputType";
33
+ export { XRCamera } from "./input/XRCamera";
34
+ export { XRTargetRayMode } from "./input/XRTargetRayMode";
35
+ export { XRInputEventType } from "./input/XRInputEventType";
36
+ export { XRTrackedUpdateFlag } from "./input/XRTrackedUpdateFlag";
37
+ export { XRSessionManager } from "./session/XRSessionManager";
38
+ export { XRSessionType } from "./session/XRSessionType";
39
+ export { XRSessionState } from "./session/XRSessionState";
@@ -0,0 +1,28 @@
1
+ import { Matrix, Rect } from "@galacean/engine-math";
2
+ import { Camera } from "../../Camera";
3
+ import { IXRInput, IXRPose } from "@galacean/engine-design";
4
+ import { XRInputType } from "./XRInputType";
5
+ import { XRTrackingState } from "./XRTrackingState";
6
+ /**
7
+ * The XR camera.
8
+ */
9
+ export declare class XRCamera implements IXRInput {
10
+ type: XRInputType;
11
+ /** The update frame count of xr input. */
12
+ frameCount: number;
13
+ /** The tracking state of xr input. */
14
+ trackingState: XRTrackingState;
15
+ /** The viewport of the camera. */
16
+ viewport: Rect;
17
+ /** The projection matrix of the camera. */
18
+ projectionMatrix: Matrix;
19
+ /** The associated virtual camera. */
20
+ camera: Camera;
21
+ /** The pose of the input. */
22
+ protected _pose: IXRPose;
23
+ /**
24
+ * Return the pose of the input.
25
+ */
26
+ get pose(): IXRPose;
27
+ constructor(type: XRInputType);
28
+ }
@@ -0,0 +1,38 @@
1
+ import { XRControllerPoseMode } from "./XRControllerPoseMode";
2
+ import { DisorderedArray } from "../../DisorderedArray";
3
+ import { IXRInput, IXRPose } from "@galacean/engine-design";
4
+ import { XRInputButton } from "./XRInputButton";
5
+ import { XRInputType } from "./XRInputType";
6
+ import { XRTrackingState } from "./XRTrackingState";
7
+ /**
8
+ * The XR controller.
9
+ */
10
+ export declare class XRController implements IXRInput {
11
+ type: XRInputType;
12
+ /** The update frame count of xr input. */
13
+ frameCount: number;
14
+ /** The tracking state of xr input. */
15
+ trackingState: XRTrackingState;
16
+ /** The currently pressed buttons of this controller. */
17
+ pressedButtons: XRInputButton;
18
+ /** Record button lifted. */
19
+ upMap: number[];
20
+ /** Record button pressed. */
21
+ downMap: number[];
22
+ /** Record button lifted in the current frame. */
23
+ upList: DisorderedArray<XRInputButton>;
24
+ /** Record button pressed in the current frame. */
25
+ downList: DisorderedArray<XRInputButton>;
26
+ /** the pose mode of the controller. (Default is Grip) */
27
+ poseMode: XRControllerPoseMode;
28
+ /** The grip space pose of the controller. */
29
+ gripPose: IXRPose;
30
+ /** The target ray space pose of the controller. */
31
+ targetRayPose: IXRPose;
32
+ protected _pose: IXRPose;
33
+ /**
34
+ * Returns the pose of the controller.
35
+ */
36
+ get pose(): IXRPose;
37
+ constructor(type: XRInputType);
38
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The mode of the XRControllerPose component.
3
+ */
4
+ export declare enum XRControllerPoseMode {
5
+ /** Grip mode. */
6
+ Grip = 0,
7
+ /** Target ray mode. */
8
+ TargetRay = 1
9
+ }
@@ -0,0 +1,14 @@
1
+ import { IXRInput, IXRPose } from "@galacean/engine-design";
2
+ import { XRTrackingState } from "../feature/trackable/XRTrackingState";
3
+ export declare abstract class XRInput implements IXRInput {
4
+ /**
5
+ * The tracking state of xr input.
6
+ */
7
+ trackingState: XRTrackingState;
8
+ protected _pose: IXRPose;
9
+ /**
10
+ * Returns the pose of the input.
11
+ */
12
+ get pose(): IXRPose;
13
+ set pose(value: IXRPose);
14
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Enum for XR input button.
3
+ */
4
+ export declare enum XRInputButton {
5
+ /** None */
6
+ None = 0,
7
+ /** Select */
8
+ Select = 1,
9
+ /** Select */
10
+ Trigger = 1,
11
+ /** Squeeze */
12
+ Squeeze = 2,
13
+ /** TouchPad */
14
+ TouchPad = 4,
15
+ /** A */
16
+ AButton = 8,
17
+ /** B */
18
+ BButton = 16
19
+ }
@@ -0,0 +1,24 @@
1
+ import { IXRInputEvent } from "@galacean/engine-design";
2
+ import { XRInputEventType } from "./XRInputEventType";
3
+ import { XRTargetRayMode } from "./XRTargetRayMode";
4
+ import { XRInputType } from "./XRInputType";
5
+ /**
6
+ * XR interaction events.
7
+ */
8
+ export declare class XRInputEvent implements IXRInputEvent {
9
+ /**
10
+ * TargetRayMode indicates the method by which the target ray for
11
+ * the input source should be generated and how it should be presented to the user.
12
+ */
13
+ targetRayMode: XRTargetRayMode;
14
+ /** The type of input event. */
15
+ type: XRInputEventType;
16
+ /** The type of input. */
17
+ input: XRInputType;
18
+ /** The unique ID of the touch point. (Appears only when targetRayMode is screen.)*/
19
+ id?: number;
20
+ /** The coordinate x on the screen. (Appears only when targetRayMode is screen.)*/
21
+ x?: number;
22
+ /** The coordinate y on the screen. (Appears only when targetRayMode is screen.) */
23
+ y?: number;
24
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The type of input event.
3
+ */
4
+ export declare enum XRInputEventType {
5
+ SelectStart = 0,
6
+ Select = 1,
7
+ SelectEnd = 2,
8
+ SqueezeStart = 3,
9
+ Squeeze = 4,
10
+ SqueezeEnd = 5
11
+ }