@galacean/engine-core 0.9.19 → 0.9.21

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 (151) hide show
  1. package/dist/main.js +854 -1513
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +854 -1513
  4. package/dist/module.js +633 -1127
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/RenderPipeline/CullingResults.d.ts +1 -0
  8. package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
  9. package/types/RenderPipeline/PipelinePass.d.ts +16 -0
  10. package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
  11. package/types/RenderPipeline/RenderData.d.ts +8 -1
  12. package/types/RenderPipeline/RenderElementX.d.ts +12 -0
  13. package/types/RenderPipeline/enums/PipelineStage.d.ts +2 -0
  14. package/types/Ticker.d.ts +30 -0
  15. package/types/animation/animationCurve/AnimationRectCurve.d.ts +8 -0
  16. package/types/animation/animationCurve/AnimationRefCurve.d.ts +8 -0
  17. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  18. package/types/asset/GraphicsResource.d.ts +4 -0
  19. package/types/asset/request.d.ts +7 -3
  20. package/types/enums/DepthTextureMode.d.ts +7 -0
  21. package/types/graphic/Primitive.d.ts +1 -0
  22. package/types/graphic/PrimitiveVertexBinding.d.ts +1 -0
  23. package/types/graphic/SubPrimitive.d.ts +9 -0
  24. package/types/particle/ParticleBufferUtils.d.ts +1 -0
  25. package/types/particle/ParticleData.d.ts +1 -0
  26. package/types/particle/ParticleGenerator.d.ts +72 -0
  27. package/types/particle/ParticleMaterial.d.ts +28 -0
  28. package/types/particle/ParticleMesh.d.ts +289 -0
  29. package/types/particle/ParticleShaderDeclaration.d.ts +1 -0
  30. package/types/particle/ParticleShaderMacro.d.ts +1 -0
  31. package/types/particle/ParticleShaderProperty.d.ts +1 -0
  32. package/types/particle/ParticleSystem.d.ts +41 -0
  33. package/types/particle/ParticleVertexElements.d.ts +1 -0
  34. package/types/particle/ParticleVertexUtils.d.ts +1 -0
  35. package/types/particle/enum/ParticleAnimationRowMode.d.ts +9 -0
  36. package/types/particle/enum/ParticleAnimationType.d.ts +9 -0
  37. package/types/particle/enum/ParticleCurveMode.d.ts +13 -0
  38. package/types/particle/enum/ParticleGradientMode.d.ts +13 -0
  39. package/types/particle/enum/ParticleRenderMode.d.ts +17 -0
  40. package/types/particle/enum/ParticleScaleMode.d.ts +11 -0
  41. package/types/particle/enum/ParticleShapeMultiModeValue.d.ts +9 -0
  42. package/types/particle/enum/ParticleShapeType.d.ts +15 -0
  43. package/types/particle/enum/ParticleSimulationSpace.d.ts +9 -0
  44. package/types/particle/enum/index.d.ts +9 -0
  45. package/types/particle/enums/ParticleCurveMode.d.ts +9 -0
  46. package/types/particle/enums/ParticleGradientMode.d.ts +9 -0
  47. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +1 -0
  48. package/types/particle/enums/ParticleRenderMode.d.ts +17 -0
  49. package/types/particle/enums/ParticleScaleMode.d.ts +11 -0
  50. package/types/particle/enums/ParticleSimulationSpace.d.ts +9 -0
  51. package/types/particle/enums/ParticleStopMode.d.ts +6 -0
  52. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +1 -0
  53. package/types/particle/enums/attributes/MeshParticleVertexAttribute.d.ts +5 -0
  54. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +1 -0
  55. package/types/particle/module/Burst.d.ts +38 -0
  56. package/types/particle/module/ColorGradient.d.ts +75 -0
  57. package/types/particle/module/ColorOverLifetimeModule.d.ts +20 -0
  58. package/types/particle/module/EmissionModule.d.ts +63 -0
  59. package/types/particle/module/FrameOverTime.d.ts +73 -0
  60. package/types/particle/module/ParticleCurve.d.ts +37 -0
  61. package/types/particle/module/RotationOverLifetimeModule.d.ts +21 -0
  62. package/types/particle/module/RotationVelocityGradient.d.ts +184 -0
  63. package/types/particle/module/SizeGradient.d.ts +151 -0
  64. package/types/particle/module/SizeOverLifetimeModule.d.ts +21 -0
  65. package/types/particle/module/StartFrame.d.ts +46 -0
  66. package/types/particle/module/TextureSheetAnimationModule.d.ts +37 -0
  67. package/types/particle/module/VelocityGradient.d.ts +110 -0
  68. package/types/particle/module/VelocityOverLifetimeModule.d.ts +22 -0
  69. package/types/particle/module/index.d.ts +15 -0
  70. package/types/particle/module/shape/BaseShape.d.ts +26 -0
  71. package/types/particle/module/shape/BoxShape.d.ts +20 -0
  72. package/types/particle/module/shape/CircleShape.d.ts +27 -0
  73. package/types/particle/module/shape/ConeShape.d.ts +35 -0
  74. package/types/particle/module/shape/HemisphereShape.d.ts +23 -0
  75. package/types/particle/module/shape/ShapeUtils.d.ts +1 -0
  76. package/types/particle/module/shape/SphereShape.d.ts +23 -0
  77. package/types/particle/module/shape/index.d.ts +5 -0
  78. package/types/particle/modules/Burst.d.ts +14 -0
  79. package/types/particle/modules/ColorOverLifetimeModule.d.ts +20 -0
  80. package/types/particle/modules/EmissionModule.d.ts +45 -0
  81. package/types/particle/modules/MainModule.d.ts +70 -0
  82. package/types/particle/modules/ParticleCompositeCurve.d.ts +56 -0
  83. package/types/particle/modules/ParticleCompositeGradient.d.ts +55 -0
  84. package/types/particle/modules/ParticleCurve.d.ts +56 -0
  85. package/types/particle/modules/ParticleGeneratorModule.d.ts +12 -0
  86. package/types/particle/modules/ParticleGradient.d.ts +94 -0
  87. package/types/particle/modules/RotationOverLifetimeModule.d.ts +34 -0
  88. package/types/particle/modules/ShapeModule.d.ts +9 -0
  89. package/types/particle/modules/SizeOverLifetimeModule.d.ts +34 -0
  90. package/types/particle/modules/TextureSheetAnimationModule.d.ts +38 -0
  91. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +34 -0
  92. package/types/particle/modules/shape/BaseShape.d.ts +12 -0
  93. package/types/particle/modules/shape/BoxShape.d.ts +11 -0
  94. package/types/particle/modules/shape/CircleShape.d.ts +17 -0
  95. package/types/particle/modules/shape/ConeShape.d.ts +28 -0
  96. package/types/particle/modules/shape/HemisphereShape.d.ts +9 -0
  97. package/types/particle/modules/shape/ShapeUtils.d.ts +1 -0
  98. package/types/particle/modules/shape/SphereShape.d.ts +9 -0
  99. package/types/particle/modules/shape/enums/ParticleShapeArcMode.d.ts +9 -0
  100. package/types/particle/modules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  101. package/types/particle/modules/shape/enums/ParticleShapeType.d.ts +15 -0
  102. package/types/particle/modules/shape/index.d.ts +6 -0
  103. package/types/particle/moudules/Burst.d.ts +25 -0
  104. package/types/particle/moudules/Emission.d.ts +47 -0
  105. package/types/particle/moudules/EmissionModule.d.ts +49 -0
  106. package/types/particle/moudules/MainModule.d.ts +59 -0
  107. package/types/particle/moudules/ParticleCurve.d.ts +27 -0
  108. package/types/particle/moudules/ParticleGradient.d.ts +28 -0
  109. package/types/particle/moudules/ShapeModule.d.ts +7 -0
  110. package/types/particle/moudules/shape/BaseShape.d.ts +28 -0
  111. package/types/particle/moudules/shape/BoxShape.d.ts +20 -0
  112. package/types/particle/moudules/shape/CircleShape.d.ts +27 -0
  113. package/types/particle/moudules/shape/ConeShape.d.ts +35 -0
  114. package/types/particle/moudules/shape/HemisphereShape.d.ts +23 -0
  115. package/types/particle/moudules/shape/ShapeUtils.d.ts +1 -0
  116. package/types/particle/moudules/shape/SphereShape.d.ts +23 -0
  117. package/types/particle/moudules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  118. package/types/particle/moudules/shape/enums/ParticleShapeType.d.ts +15 -0
  119. package/types/particle/moudules/shape/index.d.ts +5 -0
  120. package/types/physics/PhysicsScene.d.ts +6 -2
  121. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +0 -1
  122. package/types/shader/ShaderPart.d.ts +5 -0
  123. package/types/shader/SubShader.d.ts +0 -1
  124. package/types/shader/enums/RenderStateElementKey.d.ts +60 -0
  125. package/types/shaderlib/particle/index.d.ts +14 -0
  126. package/types/shadow/PipelinePass.d.ts +16 -0
  127. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  128. package/types/utils/DisorderedArray.d.ts +18 -0
  129. package/types/utils/UpdateFlag.d.ts +20 -0
  130. package/types/utils/UpdateFlagManager.d.ts +1 -0
  131. package/types/utils/Utils.d.ts +31 -0
  132. package/types/xr/XRManager.d.ts +31 -0
  133. package/types/xr/component/XRPoseDriver.d.ts +10 -0
  134. package/types/xr/data/XRCamera.d.ts +6 -0
  135. package/types/xr/data/XRDevice.d.ts +9 -0
  136. package/types/xr/data/XRHandle.d.ts +10 -0
  137. package/types/xr/enum/EnumXRButton.d.ts +5 -0
  138. package/types/xr/enum/EnumXRDevicePhase.d.ts +4 -0
  139. package/types/xr/enum/EnumXRFeature.d.ts +9 -0
  140. package/types/xr/enum/EnumXRInputSource.d.ts +8 -0
  141. package/types/xr/enum/EnumXRMode.d.ts +7 -0
  142. package/types/xr/enum/EnumXRSubsystem.d.ts +4 -0
  143. package/types/xr/enum/EnumXRTrackingMode.d.ts +7 -0
  144. package/types/xr/feature/XRCameraManager.d.ts +21 -0
  145. package/types/xr/feature/XRFeature.d.ts +29 -0
  146. package/types/xr/feature/XRImageTrackManager.d.ts +10 -0
  147. package/types/xr/feature/XRInputManager.d.ts +16 -0
  148. package/types/xr/index.d.ts +18 -0
  149. package/types/xr/provider/XRProvider.d.ts +19 -0
  150. package/types/xr/subsystem/XRInputSubsystem.d.ts +5 -0
  151. package/types/xr/subsystem/XRSubsystem.d.ts +30 -0
@@ -3,7 +3,12 @@ import { ShaderTagKey } from "./ShaderTagKey";
3
3
  * Base class for shader structure.
4
4
  */
5
5
  export declare abstract class ShaderPart {
6
+ protected _name: string;
6
7
  private _tagsMap;
8
+ /**
9
+ * Name.
10
+ */
11
+ get name(): string;
7
12
  /**
8
13
  * Set tag by key name.
9
14
  * @param keyName - Key name of the tag
@@ -4,7 +4,6 @@ import { ShaderPass } from "./ShaderPass";
4
4
  * Sub shader.
5
5
  */
6
6
  export declare class SubShader extends ShaderPart {
7
- readonly name: string;
8
7
  private _passes;
9
8
  /**
10
9
  * Sub shader passes.
@@ -0,0 +1,60 @@
1
+ export declare enum RenderStateElementKey {
2
+ /** Blend state enabled for target 0 key. */
3
+ BlendStateEnabled0 = 0,
4
+ /** Blend state color blend operation for target 0 key. */
5
+ BlendStateColorBlendOperation0 = 1,
6
+ /** Blend state alpha blend operation for target 0 key. */
7
+ BlendStateAlphaBlendOperation0 = 2,
8
+ /** Blend state source color blend factor for target 0 key. */
9
+ BlendStateSourceColorBlendFactor0 = 3,
10
+ /** Blend state source alpha blend factor for target 0 key. */
11
+ BlendStateSourceAlphaBlendFactor0 = 4,
12
+ /** Blend state destination color blend factor for target 0 key. */
13
+ BlendStateDestinationColorBlendFactor0 = 5,
14
+ /** Blend state destination alpha blend factor for target 0 key. */
15
+ BlendStateDestinationAlphaBlendFactor0 = 6,
16
+ /** Blend state color write mask for target 0 key. */
17
+ BlendStateColorWriteMask0 = 7,
18
+ /** Blend state blend color key. */
19
+ BlendStateBlendColor = 8,
20
+ /** Blend state alpha to coverage key. */
21
+ BlendStateAlphaToCoverage = 9,
22
+ /** Depth state enabled key. */
23
+ DepthStateEnabled = 10,
24
+ /** Depth state write enabled key. */
25
+ DepthStateWriteEnabled = 11,
26
+ /** Depth state compare function key. */
27
+ DepthStateCompareFunction = 12,
28
+ /** Stencil state enabled key. */
29
+ StencilStateEnabled = 13,
30
+ /** Stencil state reference value key. */
31
+ StencilStateReferenceValue = 14,
32
+ /** Stencil state read mask key. */
33
+ StencilStateMask = 15,
34
+ /** Stencil state write mask key. */
35
+ StencilStateWriteMask = 16,
36
+ /** Stencil state compare function front key. */
37
+ StencilStateCompareFunctionFront = 17,
38
+ /** Stencil state compare function back key. */
39
+ StencilStateCompareFunctionBack = 18,
40
+ /** Stencil state pass operation front key. */
41
+ StencilStatePassOperationFront = 19,
42
+ /** Stencil state pass operation back key. */
43
+ StencilStatePassOperationBack = 20,
44
+ /** Stencil state fail operation front key. */
45
+ StencilStateFailOperationFront = 21,
46
+ /** Stencil state fail operation back key. */
47
+ StencilStateFailOperationBack = 22,
48
+ /** Stencil state z fail operation front key. */
49
+ StencilStateZFailOperationFront = 23,
50
+ /** Stencil state z fail operation back key. */
51
+ StencilStateZFailOperationBack = 24,
52
+ /** Raster state fill mode key. */
53
+ RasterStateCullMode = 25,
54
+ /** Raster state cull mode key. */
55
+ RasterStateDepthBias = 26,
56
+ /** Raster state depth bias key. */
57
+ RasterStateSlopeScaledDepthBias = 27,
58
+ /** Render queue type key. */
59
+ RenderQueueType = 28
60
+ }
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ particle_common: string;
3
+ velocity_over_lifetime_module: string;
4
+ rotation_over_lifetime_module: string;
5
+ size_over_lifetime_module: string;
6
+ color_over_lifetime_module: string;
7
+ texture_sheet_animation_module: string;
8
+ sphere_billboard: string;
9
+ stretched_billboard: string;
10
+ vertical_billboard: string;
11
+ horizontal_billboard: string;
12
+ particle_mesh: string;
13
+ };
14
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { Engine } from "../Engine";
2
+ import { CullingResults } from "../RenderPipeline/CullingResults";
3
+ import { RenderContext } from "../RenderPipeline/RenderContext";
4
+ /**
5
+ * PipelinePass is a base class for all pipeline passes.
6
+ */
7
+ export declare abstract class PipelinePass {
8
+ protected _engine: Engine;
9
+ constructor(engine: Engine);
10
+ /**
11
+ * Called before rendering a camera, override this method to configure the camera If you need to configure the camera clear flag or render target.
12
+ * @param context - Rendering context
13
+ * @param cullingResults - Culling results
14
+ */
15
+ abstract onRender(context: RenderContext, cullingResults: CullingResults): void;
16
+ }
@@ -0,0 +1,12 @@
1
+ import { UpdateFlag } from "./UpdateFlag";
2
+ /**
3
+ * Bool update flag.
4
+ */
5
+ export declare class BoolUpdateFlag extends UpdateFlag {
6
+ /** Bool flag. */
7
+ flag: boolean;
8
+ /**
9
+ * @inheritdoc
10
+ */
11
+ dispatch(): void;
12
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * High-performance unordered array, delete uses exchange method to improve performance, internal capacity only increases.
3
+ */
4
+ export declare class DisorderedArray<T> {
5
+ _elements: T[];
6
+ length: number;
7
+ constructor(count?: number);
8
+ add(element: T): void;
9
+ delete(element: T): void;
10
+ get(index: number): T;
11
+ /**
12
+ *
13
+ * @param index
14
+ * @returns The replaced item is used to reset its index.
15
+ */
16
+ deleteByIndex(index: number): T;
17
+ garbageCollection(): void;
18
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Used to update tags.
3
+ */
4
+ export declare abstract class UpdateFlag {
5
+ /**
6
+ * Dispatch.
7
+ * @param bit - Bit
8
+ * @param param - Parameter
9
+ */
10
+ abstract dispatch(bit?: number, param?: Object): void;
11
+ /**
12
+ * Clear.
13
+ */
14
+ clearFromManagers(): void;
15
+ /**
16
+ * Destroy.
17
+ */
18
+ destroy(): void;
19
+ private _removeFromManagers;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ export declare class Utils {
2
+ /**
3
+ * Fast remove an element from array.
4
+ * @param array - Array
5
+ * @param item - Element
6
+ */
7
+ static removeFromArray(array: any[], item: any): boolean;
8
+ /**
9
+ * Decodes a given Uint8Array into a string.
10
+ */
11
+ static decodeText(array: Uint8Array): string;
12
+ /**
13
+ * Judge whether the url is absolute url.
14
+ * @param url - The url to be judged.
15
+ * @returns Whether the url is absolute url.
16
+ */
17
+ static isAbsoluteUrl(url: string): boolean;
18
+ /**
19
+ * Get the values of an object.
20
+ */
21
+ static objectValues(obj: any): any[];
22
+ /**
23
+ * Convert a relative URL to an absolute URL based on a given base URL.
24
+ * @param baseUrl - The base url.
25
+ * @param relativeUrl - The relative url.
26
+ * @returns The resolved url.
27
+ */
28
+ static resolveAbsoluteUrl(baseUrl: string, relativeUrl: string): string;
29
+ private static _stringToPath;
30
+ private static _formatRelativePath;
31
+ }
@@ -0,0 +1,31 @@
1
+ import { Engine } from "../Engine";
2
+ import { EnumXRMode } from "./enum/EnumXRMode";
3
+ import { EnumXRFeature } from "./enum/EnumXRFeature";
4
+ import { EnumXRTrackingMode } from "./enum/EnumXRTrackingMode";
5
+ import { XRFeature } from "./feature/XRFeature";
6
+ import { EnumXRSubsystem } from "./enum/EnumXRSubsystem";
7
+ import { XRProvider } from "./provider/XRProvider";
8
+ import { XRSubsystem } from "./subsystem/XRSubsystem";
9
+ type FeatureConstructor = new (engine: Engine) => XRFeature;
10
+ export declare class XRManager {
11
+ private _engine;
12
+ private _provider;
13
+ private _features;
14
+ private _subsystems;
15
+ private _isPaused;
16
+ isSupportedMode(mode: EnumXRMode): Promise<void>;
17
+ isSupportedTrackingMode(mode: EnumXRTrackingMode): Promise<void>;
18
+ isSupportedFeature(feature: EnumXRFeature): Promise<void>;
19
+ getFeature<T extends XRFeature>(feature: EnumXRFeature): T;
20
+ enableFeature(feature: EnumXRFeature): void;
21
+ disableFeature(feature: EnumXRFeature): void;
22
+ getSubsystem<T extends XRSubsystem>(subsystem: EnumXRSubsystem): T;
23
+ initialize(mode: EnumXRMode, trackingMode: EnumXRTrackingMode, requestFeatures?: EnumXRFeature[]): Promise<void>;
24
+ start(): Promise<void>;
25
+ pause(): void;
26
+ resume(): void;
27
+ destroy(): void;
28
+ constructor(engine: Engine, type: new (engine: Engine) => XRProvider);
29
+ }
30
+ export declare function registerFeature(feature: EnumXRFeature, dependentSubsystem?: EnumXRSubsystem[]): (featureConstructor: FeatureConstructor) => void;
31
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Script } from "../../Script";
2
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
3
+ import { EnumXRTrackingMode } from "../enum/EnumXRTrackingMode";
4
+ export declare class XRPoseDriver extends Script {
5
+ source: EnumXRInputSource;
6
+ updateType: EnumXRTrackingMode;
7
+ private _xrManager;
8
+ onLateUpdate(): void;
9
+ onAwake(): void;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { Matrix, Vector4 } from "@galacean/engine-math";
2
+ import { XRDevice } from "./XRDevice";
3
+ export declare class XRCamera extends XRDevice {
4
+ project: Matrix;
5
+ viewport: Vector4;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { Matrix, Quaternion, Vector3 } from "@galacean/engine-math";
2
+ import { EnumXRDevicePhase } from "../enum/EnumXRDevicePhase";
3
+ export declare class XRDevice {
4
+ matrix: Matrix;
5
+ position: Vector3;
6
+ linearVelocity: Vector3;
7
+ quaternion: Quaternion;
8
+ phase: EnumXRDevicePhase;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { XRDevice } from "./XRDevice";
2
+ import { EnumXRButton } from "../enum/EnumXRButton";
3
+ import { DisorderedArray } from "../../DisorderedArray";
4
+ export declare class XRHandle extends XRDevice {
5
+ pressedButtons: EnumXRButton;
6
+ upMap: number[];
7
+ downMap: number[];
8
+ upList: DisorderedArray<EnumXRButton>;
9
+ downList: DisorderedArray<EnumXRButton>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum EnumXRButton {
2
+ None = 0,
3
+ Select = 1,
4
+ Squeeze = 2
5
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum EnumXRDevicePhase {
2
+ active = 0,
3
+ leave = 1
4
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ */
4
+ export declare enum EnumXRFeature {
5
+ input = 0,
6
+ camera = 1,
7
+ imageTracking = 2,
8
+ objectTracking = 3
9
+ }
@@ -0,0 +1,8 @@
1
+ export declare enum EnumXRInputSource {
2
+ Handler = 0,
3
+ LeftHandle = 1,
4
+ RightHandle = 2,
5
+ Eye = 3,
6
+ LeftEye = 4,
7
+ RightEye = 5
8
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Modes for XR
3
+ */
4
+ export declare enum EnumXRMode {
5
+ AR = 0,
6
+ VR = 1
7
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum EnumXRSubsystem {
2
+ input = 0,
3
+ imageTracking = 1
4
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum EnumXRTrackingMode {
2
+ None = 0,
3
+ RotationOnly = 1,
4
+ PositionOnly = 2,
5
+ RotationAndPosition = 3,
6
+ Auto = 4
7
+ }
@@ -0,0 +1,21 @@
1
+ import { Camera } from "../../Camera";
2
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
3
+ import { XRFeature } from "./XRFeature";
4
+ export declare class XRCameraManager extends XRFeature {
5
+ private _cameras;
6
+ private _automaticNear;
7
+ private _customNear;
8
+ private _automaticFar;
9
+ private _customFar;
10
+ get near(): number;
11
+ set near(value: number);
12
+ get far(): number;
13
+ set far(value: number);
14
+ attachCamera(source: EnumXRInputSource, camera: Camera): void;
15
+ detachCamera(source: EnumXRInputSource): void;
16
+ getCamera(source: EnumXRInputSource): Camera;
17
+ onUpdate(): void;
18
+ onEnable(): void;
19
+ onDisable(): void;
20
+ onDestroy(): void;
21
+ }
@@ -0,0 +1,29 @@
1
+ import { Engine } from "../../Engine";
2
+ export declare abstract class XRFeature {
3
+ protected _engine: Engine;
4
+ /**
5
+ * Enable an instance of a feature.
6
+ * This method needs to be override.
7
+ * @returns
8
+ */
9
+ onEnable(): void;
10
+ /**
11
+ * Disable an instance of a feature.
12
+ * This method needs to be override.
13
+ * @returns
14
+ */
15
+ onDisable(): void;
16
+ /**
17
+ * Update an instance of a feature.
18
+ * This method needs to be override.
19
+ * @returns
20
+ */
21
+ onUpdate(): void;
22
+ /**
23
+ * Destroy an instance of a feature.
24
+ * This method needs to be override.
25
+ * @returns
26
+ */
27
+ onDestroy(): void;
28
+ constructor(engine: Engine);
29
+ }
@@ -0,0 +1,10 @@
1
+ import { Entity } from "../../Entity";
2
+ import { XRFeature } from "./XRFeature";
3
+ export declare class XRImageTrackManager extends XRFeature {
4
+ addImage(): void;
5
+ removeImage(): void;
6
+ getTrackedObject(): Entity;
7
+ onEnable(): void;
8
+ onDisable(): void;
9
+ onDestroy(): void;
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Engine } from "../../Engine";
2
+ import { XRDevice } from "../data/XRDevice";
3
+ import { EnumXRButton } from "../enum/EnumXRButton";
4
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
5
+ import { XRFeature } from "./XRFeature";
6
+ export declare class XRInputManager extends XRFeature {
7
+ private _subSystem;
8
+ getDevice<T extends XRDevice>(source: EnumXRInputSource): T;
9
+ isButtonDown(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
10
+ isButtonUp(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
11
+ isButtonHeldDown(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
12
+ onEnable(): void;
13
+ onDisable(): void;
14
+ onDestroy(): void;
15
+ constructor(engine: Engine);
16
+ }
@@ -0,0 +1,18 @@
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";
@@ -0,0 +1,19 @@
1
+ import { EnumXRMode } from "../enum/EnumXRMode";
2
+ import { EnumXRTrackingMode } from "../enum/EnumXRTrackingMode";
3
+ import { XRSubsystem } from "../subsystem/XRSubsystem";
4
+ import { Engine } from "../../Engine";
5
+ import { EnumXRSubsystem } from "../enum/EnumXRSubsystem";
6
+ export declare class XRProvider {
7
+ name: string;
8
+ protected _engine: Engine;
9
+ isSupportedMode(mode: EnumXRMode): Promise<void>;
10
+ isSupportedTrackingMode(mode: EnumXRTrackingMode): Promise<void>;
11
+ isSupportedSubsystem(feature: number): Promise<void>;
12
+ createSubsystem<T extends XRSubsystem>(feature: number): Promise<T>;
13
+ initialize(mode: EnumXRMode, trackingMode: EnumXRTrackingMode, subsystems: EnumXRSubsystem[]): Promise<XRSubsystem[]>;
14
+ start(): Promise<void>;
15
+ onUpdate(): void;
16
+ onLateUpdate(): void;
17
+ onDestroy(): void;
18
+ constructor(engine: Engine);
19
+ }
@@ -0,0 +1,5 @@
1
+ import { XRDevice } from "../data/XRDevice";
2
+ import { XRSubsystem } from "./XRSubsystem";
3
+ export declare abstract class XRInputSubsystem extends XRSubsystem {
4
+ devices: XRDevice[];
5
+ }
@@ -0,0 +1,30 @@
1
+ import { Engine } from "../../Engine";
2
+ export declare abstract class XRSubsystem {
3
+ running: boolean;
4
+ _engine: Engine;
5
+ /**
6
+ * Starts an instance of a system.
7
+ * This method needs to be override.
8
+ * @returns
9
+ */
10
+ start(): Promise<void>;
11
+ /**
12
+ * Stops an instance of a system.
13
+ * This method needs to be override.
14
+ * @returns
15
+ */
16
+ stop(): Promise<void>;
17
+ /**
18
+ * Destroys this instance of a system.
19
+ * This method needs to be override.
20
+ * @returns
21
+ */
22
+ destroy(): Promise<void>;
23
+ /**
24
+ * Update this instance of a system.
25
+ * This method needs to be override.
26
+ * @returns
27
+ */
28
+ update(): void;
29
+ constructor(engine: Engine);
30
+ }