@needle-tools/engine 5.1.9 → 5.1.11
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/CHANGELOG.md +9 -0
- package/SKILL.md +64 -4
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-CHq9xqXv.min.js → needle-engine.bundle-d-dLyN3s.min.js} +137 -136
- package/dist/{needle-engine.bundle-DYPk7VZg.umd.cjs → needle-engine.bundle-n5YALNtc.umd.cjs} +140 -139
- package/dist/{needle-engine.bundle-XZ6cKssu.js → needle-engine.bundle-ue2Lw4bF.js} +5267 -5101
- package/dist/needle-engine.d.ts +138 -26
- package/dist/needle-engine.js +522 -518
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/three-examples.js +727 -781
- package/dist/three-examples.min.js +12 -12
- package/dist/three-examples.umd.cjs +9 -9
- package/lib/engine/api.d.ts +1 -1
- package/lib/engine/api.js +1 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_init.js +2 -2
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_license.d.ts +7 -7
- package/lib/engine/engine_license.js +71 -71
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +13 -4
- package/lib/engine/engine_materialpropertyblock.js +16 -5
- package/lib/engine/engine_materialpropertyblock.js.map +1 -1
- package/lib/engine/engine_math.d.ts +13 -0
- package/lib/engine/engine_math.js +17 -0
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking_blob.js +3 -3
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_utils_qrcode.js +2 -2
- package/lib/engine/engine_utils_qrcode.js.map +1 -1
- package/lib/engine/postprocessing/postprocessing.d.ts +18 -0
- package/lib/engine/postprocessing/postprocessing.js +31 -2
- package/lib/engine/postprocessing/postprocessing.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +2 -2
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/TempXRContext.js +2 -2
- package/lib/engine/xr/TempXRContext.js.map +1 -1
- package/lib/engine/xr/XRHandMeshModel.d.ts +31 -0
- package/lib/engine/xr/XRHandMeshModel.js +153 -0
- package/lib/engine/xr/XRHandMeshModel.js.map +1 -0
- package/lib/engine-components/DragControls.d.ts +0 -5
- package/lib/engine-components/DragControls.js +0 -8
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +3 -3
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RendererInstancing.d.ts +34 -3
- package/lib/engine-components/RendererInstancing.js +92 -11
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/RendererLightmap.js +1 -1
- package/lib/engine-components/RendererLightmap.js.map +1 -1
- package/lib/engine-components/SyncedRoom.js +5 -0
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +10 -2
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
- package/lib/engine-components/postprocessing/index.d.ts +4 -0
- package/lib/engine-components/postprocessing/index.js +7 -0
- package/lib/engine-components/postprocessing/index.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.js +9 -3
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +13 -4
- package/lib/engine-components/utils/LookAt.js +13 -4
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.js +1 -1
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +12 -7
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/package.json +2 -2
- package/plugins/common/license.js +4 -4
- package/plugins/vite/license.js +4 -4
- package/src/engine/api.ts +1 -1
- package/src/engine/engine_init.ts +2 -2
- package/src/engine/engine_license.ts +68 -68
- package/src/engine/engine_materialpropertyblock.ts +17 -5
- package/src/engine/engine_math.ts +17 -0
- package/src/engine/engine_networking_blob.ts +3 -3
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/postprocessing/postprocessing.ts +32 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +2 -2
- package/src/engine/xr/TempXRContext.ts +2 -2
- package/src/engine/xr/XRHandMeshModel.ts +179 -0
- package/src/engine-components/DragControls.ts +0 -7
- package/src/engine-components/ReflectionProbe.ts +3 -3
- package/src/engine-components/RendererInstancing.ts +92 -11
- package/src/engine-components/RendererLightmap.ts +1 -1
- package/src/engine-components/SyncedRoom.ts +5 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +10 -2
- package/src/engine-components/postprocessing/index.ts +7 -0
- package/src/engine-components/splines/SplineWalker.ts +9 -3
- package/src/engine-components/utils/LookAt.ts +13 -4
- package/src/engine-components/webxr/WebXR.ts +1 -1
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +13 -7
package/dist/needle-engine.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { Audio as Audio_2 } from 'three';
|
|
|
5
5
|
import { AudioListener as AudioListener_3 } from 'three';
|
|
6
6
|
import { BatchedMesh } from 'three';
|
|
7
7
|
import { BloomEffect as BloomEffect_2 } from 'postprocessing';
|
|
8
|
+
import { Bone } from 'three';
|
|
8
9
|
import { Box3 } from 'three';
|
|
9
10
|
import { BufferGeometry } from 'three';
|
|
10
11
|
import { Camera as Camera_2 } from 'three';
|
|
@@ -111,22 +112,21 @@ import { WebGLRenderTarget } from 'three';
|
|
|
111
112
|
import { WebXRArrayCamera } from 'three';
|
|
112
113
|
import { World } from '@dimforge/rapier3d-compat';
|
|
113
114
|
import { XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
|
|
114
|
-
import { XRHandMeshModel } from 'three/examples/jsm/webxr/XRHandMeshModel.js';
|
|
115
115
|
import { XRHandSpace } from 'three';
|
|
116
116
|
|
|
117
117
|
export declare const $componentName: unique symbol;
|
|
118
118
|
|
|
119
|
-
/* Excluded from this release type: $iNNlsg */
|
|
120
|
-
|
|
121
119
|
export declare const $physicsKey: unique symbol;
|
|
122
120
|
|
|
123
|
-
/* Excluded from this release type: _$qxlHFE */
|
|
124
|
-
|
|
125
121
|
export declare class __Ignore {
|
|
126
122
|
}
|
|
127
123
|
|
|
128
124
|
export declare function __internalNotifyObjectDestroyed(obj: Object3D): void;
|
|
129
125
|
|
|
126
|
+
/* Excluded from this release type: __nlZsk */
|
|
127
|
+
|
|
128
|
+
/* Excluded from this release type: __zrAx */
|
|
129
|
+
|
|
130
130
|
/** Data describing the accessible semantics for a 3D object or component. */
|
|
131
131
|
declare type AccessibilityData = {
|
|
132
132
|
/** ARIA role (e.g. `"button"`, `"img"`, `"region"`). */
|
|
@@ -5567,7 +5567,7 @@ export declare class DepthOfField extends PostProcessingEffect {
|
|
|
5567
5567
|
unapply(): void;
|
|
5568
5568
|
}
|
|
5569
5569
|
|
|
5570
|
-
declare enum DepthOfFieldMode {
|
|
5570
|
+
export declare enum DepthOfFieldMode {
|
|
5571
5571
|
Off = 0,
|
|
5572
5572
|
Gaussian = 1,
|
|
5573
5573
|
Bokeh = 2
|
|
@@ -5902,11 +5902,6 @@ export declare class DragControls extends Component implements IPointerEventHand
|
|
|
5902
5902
|
* This is similar to mouse acceleration on a screen.
|
|
5903
5903
|
*/
|
|
5904
5904
|
xrDistanceDragFactor: number;
|
|
5905
|
-
/**
|
|
5906
|
-
* When enabled, draws a visual line from the dragged object downwards to the next raycast hit,
|
|
5907
|
-
* providing visual feedback about the object's position relative to surfaces below it.
|
|
5908
|
-
*/
|
|
5909
|
-
showGizmo: boolean;
|
|
5910
5905
|
/** Drag profile for screen / touch / mouse input. Reads live from the flat serialized fields. */
|
|
5911
5906
|
readonly screenProfile: DragProfile;
|
|
5912
5907
|
/** Drag profile for XR tracked-pointer and transient-pointer input. Reads live from the flat `xr*` serialized fields. */
|
|
@@ -9492,11 +9487,30 @@ export declare class InputField extends Component implements IPointerEventHandle
|
|
|
9492
9487
|
private processInputOniOS;
|
|
9493
9488
|
}
|
|
9494
9489
|
|
|
9490
|
+
/**
|
|
9491
|
+
* Renders one geometry+material combination for many objects using a
|
|
9492
|
+
* {@link https://threejs.org/docs/#api/en/objects/BatchedMesh | BatchedMesh}.
|
|
9493
|
+
*
|
|
9494
|
+
* The BatchedMesh belongs to this class: it is created here, parented directly to the untransformed
|
|
9495
|
+
* `context.scene` and never moved, so its transform is whatever {@link applyBatchTransform} puts
|
|
9496
|
+
* there and nothing else.
|
|
9497
|
+
*
|
|
9498
|
+
* **Mirroring:** three flips the winding for a mirrored transform per *draw call*, from
|
|
9499
|
+
* `object.matrixWorld.determinant()` - and for a batch that object is the BatchedMesh, not the
|
|
9500
|
+
* instance. So mirrored instances get their own batch, which carries the mirror on its own
|
|
9501
|
+
* transform (`scale.z = -1`); otherwise their front faces would be culled.
|
|
9502
|
+
*
|
|
9503
|
+
* That mirror is the one transform the shader's `modelMatrix * batchingMatrix` would otherwise apply
|
|
9504
|
+
* twice, so a mirrored batch stores its instance matrices with it undone. Every other batch is
|
|
9505
|
+
* untransformed and stores world matrices as they are.
|
|
9506
|
+
*/
|
|
9495
9507
|
declare class InstancedMeshRenderer {
|
|
9496
9508
|
/** The three instanced mesh
|
|
9497
9509
|
* @link https://threejs.org/docs/#api/en/objects/InstancedMesh
|
|
9498
9510
|
*/
|
|
9499
9511
|
get batchedMesh(): BatchedMesh;
|
|
9512
|
+
/** True if this batch renders mirrored objects. A batch only holds one or the other. */
|
|
9513
|
+
get mirrored(): boolean;
|
|
9500
9514
|
get visible(): boolean;
|
|
9501
9515
|
set visible(val: boolean);
|
|
9502
9516
|
get castShadow(): boolean;
|
|
@@ -9519,6 +9533,7 @@ declare class InstancedMeshRenderer {
|
|
|
9519
9533
|
updateBounds(box?: boolean, sphere?: boolean): void;
|
|
9520
9534
|
private _context;
|
|
9521
9535
|
private _batchedMesh;
|
|
9536
|
+
private readonly _mirrored;
|
|
9522
9537
|
private _handles;
|
|
9523
9538
|
private _geometryIds;
|
|
9524
9539
|
private _maxInstanceCount;
|
|
@@ -9527,25 +9542,33 @@ declare class InstancedMeshRenderer {
|
|
|
9527
9542
|
private _currentIndexCount;
|
|
9528
9543
|
private _maxVertexCount;
|
|
9529
9544
|
private _maxIndexCount;
|
|
9530
|
-
private static
|
|
9545
|
+
private static instanceMatrix;
|
|
9531
9546
|
private static lodProjectionScreenMatrix;
|
|
9547
|
+
private static debugBoundsSphere;
|
|
9532
9548
|
private static debugLODColor;
|
|
9533
9549
|
private static lodSelectionResult;
|
|
9534
9550
|
/** Check if the geometry can be added to this instancer
|
|
9535
9551
|
* @param geometry The geometry to check
|
|
9536
9552
|
* @param material The material of the geometry
|
|
9553
|
+
* @param mirrored Whether the object's world matrix has a negative determinant
|
|
9537
9554
|
* @returns true if the geometry can be added
|
|
9538
9555
|
*/
|
|
9539
|
-
canAdd(geometry: BufferGeometry, material: Material): boolean;
|
|
9556
|
+
canAdd(geometry: BufferGeometry, material: Material, mirrored: boolean): boolean;
|
|
9540
9557
|
private _needUpdateBounds;
|
|
9541
9558
|
private _debugMaterial;
|
|
9542
9559
|
private getBatchedMeshName;
|
|
9543
|
-
constructor(name: string, geo: BufferGeometry, material: Material, initialMaxCount: number, context: Context);
|
|
9560
|
+
constructor(name: string, geo: BufferGeometry, material: Material, initialMaxCount: number, context: Context, mirrored?: boolean);
|
|
9544
9561
|
dispose(): void;
|
|
9545
9562
|
addInstance(obj: Mesh, geometry?: BufferGeometry): InstanceHandle | null;
|
|
9546
9563
|
add(handle: InstanceHandle): boolean;
|
|
9547
9564
|
remove(handle: InstanceHandle, delete_: boolean): void;
|
|
9548
9565
|
updateInstance(mat: Matrix4, index: number): void;
|
|
9566
|
+
/** The batch's own transform. This class owns it: the mirror is the only thing that ever goes
|
|
9567
|
+
* here, and the batch is never reparented away from the untransformed scene root. */
|
|
9568
|
+
private applyBatchTransform;
|
|
9569
|
+
/** Writes a *world* matrix to an instance slot, converted into the batch's local space.
|
|
9570
|
+
* All instance matrix writes go through here. */
|
|
9571
|
+
private setInstanceMatrix;
|
|
9549
9572
|
updateGeometry(geo: BufferGeometry, geometryIndex: number): boolean;
|
|
9550
9573
|
private onBeforeRender;
|
|
9551
9574
|
private updateProgressiveMeshLODs;
|
|
@@ -9603,6 +9626,9 @@ export declare class InstanceHandle {
|
|
|
9603
9626
|
updateMeshInformation(): boolean;
|
|
9604
9627
|
/** Updates the matrix from the rendered object. Will also call updateWorldMatrix internally */
|
|
9605
9628
|
updateInstanceMatrix(updateChildren?: boolean, updateMatrix?: boolean): void;
|
|
9629
|
+
private _didWarnAboutMirroringChange;
|
|
9630
|
+
/** Batches are bucketed by mirroring at setup time and an instance can not move between them. */
|
|
9631
|
+
private assertMirroringUnchanged;
|
|
9606
9632
|
/** Updates the matrix of the instance */
|
|
9607
9633
|
setMatrix(matrix: Matrix4): void;
|
|
9608
9634
|
/** Can be used to change the geometry of this instance */
|
|
@@ -10458,8 +10484,6 @@ export declare interface IWatch {
|
|
|
10458
10484
|
dispose(): any;
|
|
10459
10485
|
}
|
|
10460
10486
|
|
|
10461
|
-
/* Excluded from this release type: _iXmRJVD */
|
|
10462
|
-
|
|
10463
10487
|
export declare interface IXRRig extends Pick<IComponent, "gameObject"> {
|
|
10464
10488
|
isXRRig(): boolean;
|
|
10465
10489
|
get isActive(): boolean;
|
|
@@ -10502,6 +10526,10 @@ declare abstract class Joint extends Component {
|
|
|
10502
10526
|
protected abstract createJoint(self: Rigidbody, other: Rigidbody): any;
|
|
10503
10527
|
}
|
|
10504
10528
|
|
|
10529
|
+
declare type JointBone = Bone & {
|
|
10530
|
+
jointName?: string;
|
|
10531
|
+
};
|
|
10532
|
+
|
|
10505
10533
|
/** Locks the follow object's world rotation to the quaternion captured at drag-start. */
|
|
10506
10534
|
export declare class KeepRotationConstraint implements IDragConstraint {
|
|
10507
10535
|
private readonly _savedQuat;
|
|
@@ -11050,19 +11078,28 @@ export declare enum LogType {
|
|
|
11050
11078
|
*/
|
|
11051
11079
|
export declare class LookAt extends Component implements UsdzBehaviour {
|
|
11052
11080
|
/**
|
|
11053
|
-
* The target object to look at.
|
|
11081
|
+
* The target object to look at.
|
|
11082
|
+
* @default undefined — when no target is set the main camera is used
|
|
11054
11083
|
*/
|
|
11055
11084
|
target?: Object3D;
|
|
11056
11085
|
/**
|
|
11057
|
-
* Inverts the forward direction
|
|
11086
|
+
* Inverts the forward direction, so the object turns its back to the target
|
|
11087
|
+
* instead of facing it. Useful for models authored facing -Z.
|
|
11088
|
+
* @default false
|
|
11058
11089
|
*/
|
|
11059
11090
|
invertForward: boolean;
|
|
11060
11091
|
/**
|
|
11061
|
-
*
|
|
11092
|
+
* Keeps the object upright while turning, so it only rotates around the up
|
|
11093
|
+
* axis rather than tilting to point directly at a target above or below it.
|
|
11094
|
+
* @default true
|
|
11062
11095
|
*/
|
|
11063
11096
|
keepUpDirection: boolean;
|
|
11064
11097
|
/**
|
|
11065
|
-
*
|
|
11098
|
+
* Copies the target's rotation instead of aiming at its position. Use this to
|
|
11099
|
+
* match a target's orientation, for example to align with the camera.
|
|
11100
|
+
*
|
|
11101
|
+
* Ignored during a VR or AR session.
|
|
11102
|
+
* @default false
|
|
11066
11103
|
*/
|
|
11067
11104
|
copyTargetRotation: boolean;
|
|
11068
11105
|
private static flipYQuat;
|
|
@@ -11256,7 +11293,7 @@ export declare class MaskableGraphic extends Graphic {
|
|
|
11256
11293
|
* This means:
|
|
11257
11294
|
* - If you change the object's material, the overrides will still be applied to the new material
|
|
11258
11295
|
* - Multiple objects can share the same material but have different property overrides
|
|
11259
|
-
* - If you don't want overrides applied after changing a material, you must remove them using {@link
|
|
11296
|
+
* - If you don't want overrides applied after changing a material, you must remove them using {@link removeOverride}, {@link clearAllOverrides}, or {@link dispose}
|
|
11260
11297
|
*
|
|
11261
11298
|
* The property block system works by:
|
|
11262
11299
|
* - Temporarily applying overrides in onBeforeRender
|
|
@@ -11318,7 +11355,7 @@ export declare class MaskableGraphic extends Graphic {
|
|
|
11318
11355
|
* // If you don't want overrides on the new material, remove them:
|
|
11319
11356
|
* block.clearAllOverrides(); // Remove all overrides
|
|
11320
11357
|
* // or
|
|
11321
|
-
* block.
|
|
11358
|
+
* block.removeOverride("color"); // Remove specific override
|
|
11322
11359
|
* // or
|
|
11323
11360
|
* block.dispose(); // Remove the entire property block
|
|
11324
11361
|
* ```
|
|
@@ -11445,11 +11482,20 @@ export declare class MaterialPropertyBlock<T extends Material = Material> {
|
|
|
11445
11482
|
* block.setOverride("lightMap", lightmapTexture);
|
|
11446
11483
|
*
|
|
11447
11484
|
* // Remove a specific override - the material will now use its original color
|
|
11448
|
-
* block.
|
|
11485
|
+
* block.removeOverride("color");
|
|
11449
11486
|
*
|
|
11450
11487
|
* // Other overrides (roughness, lightMap) remain active
|
|
11451
11488
|
* ```
|
|
11452
11489
|
*/
|
|
11490
|
+
removeOverride<K extends NonFunctionPropertyNames<T>>(name: K | ({} & string)): void;
|
|
11491
|
+
/**
|
|
11492
|
+
* Removes a specific property override.
|
|
11493
|
+
*
|
|
11494
|
+
* @param name The property name to remove the override for
|
|
11495
|
+
*
|
|
11496
|
+
* @deprecated The name is missing an `r`. Use {@link removeOverride} instead — this
|
|
11497
|
+
* alias is kept so existing code keeps working and will be removed in a future version.
|
|
11498
|
+
*/
|
|
11453
11499
|
removeOveride<K extends NonFunctionPropertyNames<T>>(name: K | ({} & string)): void;
|
|
11454
11500
|
/**
|
|
11455
11501
|
* Removes all property overrides from this block.
|
|
@@ -11491,7 +11537,7 @@ export declare class MaterialPropertyBlock<T extends Material = Material> {
|
|
|
11491
11537
|
* });
|
|
11492
11538
|
* ```
|
|
11493
11539
|
*
|
|
11494
|
-
* @see {@link
|
|
11540
|
+
* @see {@link removeOverride} - To remove a single override
|
|
11495
11541
|
* @see {@link dispose} - To completely remove the property block and clean up resources
|
|
11496
11542
|
*/
|
|
11497
11543
|
clearAllOverrides(): void;
|
|
@@ -11608,6 +11654,19 @@ declare class MathHelper {
|
|
|
11608
11654
|
* @returns Value clamped to [0, 1]
|
|
11609
11655
|
*/
|
|
11610
11656
|
clamp01(value: number): number;
|
|
11657
|
+
/**
|
|
11658
|
+
* Loops a value so that it never exceeds `length` and never goes below 0 — the modulo you
|
|
11659
|
+
* usually want for wrapping. Note that JavaScript's `%` operator is a *remainder*: it keeps the
|
|
11660
|
+
* sign of the dividend, so `-0.25 % 1` is `-0.25`, not `0.75`. This returns `0.75`.
|
|
11661
|
+
* @param value Value to wrap
|
|
11662
|
+
* @param length Length of the range to wrap into (defaults to 1)
|
|
11663
|
+
* @returns Value wrapped into [0, length)
|
|
11664
|
+
* @example ```javascript
|
|
11665
|
+
* Mathf.repeat(1.5, 1); // 0.5
|
|
11666
|
+
* Mathf.repeat(-0.25, 1); // 0.75
|
|
11667
|
+
* ```
|
|
11668
|
+
*/
|
|
11669
|
+
repeat(value: number, length?: number): number;
|
|
11611
11670
|
/**
|
|
11612
11671
|
* Linearly interpolates between two values.
|
|
11613
11672
|
* @param value1 Start value (returned when t=0)
|
|
@@ -13333,7 +13392,7 @@ export declare class NestedGltf extends Component {
|
|
|
13333
13392
|
private hash;
|
|
13334
13393
|
}
|
|
13335
13394
|
|
|
13336
|
-
declare enum NEToneMappingMode {
|
|
13395
|
+
export declare enum NEToneMappingMode {
|
|
13337
13396
|
None = 0,
|
|
13338
13397
|
Neutral = 1,// Neutral tonemapper, close to Reinhard
|
|
13339
13398
|
ACES = 2,// ACES Filmic reference tonemapper (custom approximation)
|
|
@@ -14039,6 +14098,8 @@ export declare function offXRSessionEnd(fn: (evt: XRSessionEventArgs) => void):
|
|
|
14039
14098
|
*/
|
|
14040
14099
|
export declare function offXRSessionStart(fn: (evt: XRSessionEventArgs) => void): void;
|
|
14041
14100
|
|
|
14101
|
+
/* Excluded from this release type: oMxKl */
|
|
14102
|
+
|
|
14042
14103
|
/**
|
|
14043
14104
|
* @experimental
|
|
14044
14105
|
* Subscribe to a DOM event on any {@link EventTarget} (window, document, HTML elements, etc.)
|
|
@@ -16258,6 +16319,24 @@ export declare class OrbitControls extends Component implements ICameraControlle
|
|
|
16258
16319
|
get effects(): readonly IPostProcessingEffect[];
|
|
16259
16320
|
get dirty(): boolean;
|
|
16260
16321
|
set dirty(value: boolean);
|
|
16322
|
+
private _enabled;
|
|
16323
|
+
/**
|
|
16324
|
+
* Whether the postprocessing stack runs at all. When disabled the scene is
|
|
16325
|
+
* rendered directly, with no effects and no composer.
|
|
16326
|
+
*
|
|
16327
|
+
* Every effect keeps its own `enabled` state, so switching this back on
|
|
16328
|
+
* restores exactly the stack that was there before. Useful for a quality
|
|
16329
|
+
* setting, for a clean screenshot, or for comparing a scene with and
|
|
16330
|
+
* without effects.
|
|
16331
|
+
*
|
|
16332
|
+
* @default true
|
|
16333
|
+
* @example
|
|
16334
|
+
* ```ts
|
|
16335
|
+
* context.postprocessing.enabled = false;
|
|
16336
|
+
* ```
|
|
16337
|
+
*/
|
|
16338
|
+
get enabled(): boolean;
|
|
16339
|
+
set enabled(value: boolean);
|
|
16261
16340
|
/** The internal PostProcessingHandler that manages the EffectComposer pipeline */
|
|
16262
16341
|
get handler(): IPostProcessingHandler | null;
|
|
16263
16342
|
/**
|
|
@@ -16728,6 +16807,13 @@ export declare class OrbitControls extends Component implements ICameraControlle
|
|
|
16728
16807
|
|
|
16729
16808
|
export { QTrailParticle }
|
|
16730
16809
|
|
|
16810
|
+
export declare enum QualityLevel {
|
|
16811
|
+
LOW = 0,
|
|
16812
|
+
MEDIUM = 1,
|
|
16813
|
+
HIGH = 2,
|
|
16814
|
+
ULTRA = 3
|
|
16815
|
+
}
|
|
16816
|
+
|
|
16731
16817
|
declare type Quat = {
|
|
16732
16818
|
x: number;
|
|
16733
16819
|
y: number;
|
|
@@ -18907,7 +18993,7 @@ export declare class OrbitControls extends Component implements ICameraControlle
|
|
|
18907
18993
|
}
|
|
18908
18994
|
|
|
18909
18995
|
/**See (N8AO documentation)[https://github.com/N8python/n8ao] */
|
|
18910
|
-
declare enum ScreenSpaceAmbientOcclusionN8QualityMode {
|
|
18996
|
+
export declare enum ScreenSpaceAmbientOcclusionN8QualityMode {
|
|
18911
18997
|
Performance = 0,
|
|
18912
18998
|
Low = 1,
|
|
18913
18999
|
Medium = 2,
|
|
@@ -25112,6 +25198,32 @@ export declare class OrbitControls extends Component implements ICameraControlle
|
|
|
25112
25198
|
|
|
25113
25199
|
export declare type XRGestureName = "pinch";
|
|
25114
25200
|
|
|
25201
|
+
/**
|
|
25202
|
+
* Renders a skinned hand mesh and drives its bones from the tracked WebXR joint poses.
|
|
25203
|
+
*
|
|
25204
|
+
* @see {@link XRControllerModel} which creates one per tracked hand.
|
|
25205
|
+
*/
|
|
25206
|
+
declare class XRHandMeshModel {
|
|
25207
|
+
/** The three XRHandSpace whose `joints` drive this mesh. */
|
|
25208
|
+
readonly controller: XRHandSpace;
|
|
25209
|
+
/** The object the loaded hand mesh is added to. */
|
|
25210
|
+
readonly handModel: Object3D;
|
|
25211
|
+
/** The bones driven by {@link updateMesh}, in {@link JOINT_NAMES} order. Sparse if the model lacks joints. */
|
|
25212
|
+
readonly bones: Array<JointBone | undefined>;
|
|
25213
|
+
/**
|
|
25214
|
+
* @param handModel the object the loaded mesh is parented to
|
|
25215
|
+
* @param controller the hand space providing joint poses
|
|
25216
|
+
* @param path base path for the model (defaults to the generic hand profile CDN)
|
|
25217
|
+
* @param handedness file name to load (without extension) — either "left"/"right" for the
|
|
25218
|
+
* default profile, or a full path for a custom hand model
|
|
25219
|
+
* @param loader loader to use; a plain GLTFLoader is created when omitted
|
|
25220
|
+
* @param onLoad invoked with the loaded hand object once it has been added
|
|
25221
|
+
*/
|
|
25222
|
+
constructor(handModel: Object3D, controller: XRHandSpace, path: string | null, handedness: string, loader?: GLTFLoader | null, onLoad?: ((object: Object3D) => void) | null);
|
|
25223
|
+
/** Copies the current tracked joint poses onto the mesh bones. Called every XR frame. */
|
|
25224
|
+
updateMesh(): void;
|
|
25225
|
+
}
|
|
25226
|
+
|
|
25115
25227
|
declare type XRMesh_2 = {
|
|
25116
25228
|
meshSpace: XRSpace;
|
|
25117
25229
|
lastChangedTime: number;
|