@zephyr3d/scene 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 (95) hide show
  1. package/dist/animation/joint_dynamics/convex_collider.js +320 -0
  2. package/dist/animation/joint_dynamics/convex_collider.js.map +1 -0
  3. package/dist/asset/assetmanager.js +1 -0
  4. package/dist/asset/assetmanager.js.map +1 -1
  5. package/dist/camera/camera.js +39 -0
  6. package/dist/camera/camera.js.map +1 -1
  7. package/dist/index.d.ts +190 -4
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/material/meshmaterial.js +2 -2
  11. package/dist/material/meshmaterial.js.map +1 -1
  12. package/dist/material/mixins/lit.js +10 -0
  13. package/dist/material/mixins/lit.js.map +1 -1
  14. package/dist/material/shader/helper.js +117 -2
  15. package/dist/material/shader/helper.js.map +1 -1
  16. package/dist/posteffect/skinsss.js +10 -10
  17. package/dist/posteffect/skinsss.js.map +1 -1
  18. package/dist/posteffect/ssr.js +13 -13
  19. package/dist/posteffect/ssr.js.map +1 -1
  20. package/dist/posteffect/sss.js +8 -7
  21. package/dist/posteffect/sss.js.map +1 -1
  22. package/dist/posteffect/tonemap.js +5 -5
  23. package/dist/posteffect/tonemap.js.map +1 -1
  24. package/dist/render/abuffer_oit.js +5 -0
  25. package/dist/render/abuffer_oit.js.map +1 -1
  26. package/dist/render/cluster_light.js +52 -8
  27. package/dist/render/cluster_light.js.map +1 -1
  28. package/dist/render/dualdepthpeeling_oit.js +331 -0
  29. package/dist/render/dualdepthpeeling_oit.js.map +1 -0
  30. package/dist/render/lightpass.js +29 -8
  31. package/dist/render/lightpass.js.map +1 -1
  32. package/dist/render/renderer.js +3 -0
  33. package/dist/render/renderer.js.map +1 -1
  34. package/dist/render/rendergraph/blackboard.js +40 -39
  35. package/dist/render/rendergraph/blackboard.js.map +1 -1
  36. package/dist/render/rendergraph/device_pool_allocator.js +10 -1
  37. package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
  38. package/dist/render/rendergraph/forward_plus_builder.js +75 -4
  39. package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
  40. package/dist/render/rendergraph/types.js.map +1 -1
  41. package/dist/render/renderpass.js +12 -2
  42. package/dist/render/renderpass.js.map +1 -1
  43. package/dist/render/shadow_mask_pass.js +297 -0
  44. package/dist/render/shadow_mask_pass.js.map +1 -0
  45. package/dist/render/weightedblended_oit.js +5 -0
  46. package/dist/render/weightedblended_oit.js.map +1 -1
  47. package/dist/scene/basesprite.js +1 -0
  48. package/dist/scene/basesprite.js.map +1 -1
  49. package/dist/scene/batchgroup.js +1 -0
  50. package/dist/scene/batchgroup.js.map +1 -1
  51. package/dist/scene/environment.js +1 -0
  52. package/dist/scene/environment.js.map +1 -1
  53. package/dist/scene/msdftext.js +1 -0
  54. package/dist/scene/msdftext.js.map +1 -1
  55. package/dist/scene/msdftextsprite.js +1 -0
  56. package/dist/scene/msdftextsprite.js.map +1 -1
  57. package/dist/scene/particlesys.js +1 -0
  58. package/dist/scene/particlesys.js.map +1 -1
  59. package/dist/scene/scene.js +1 -0
  60. package/dist/scene/scene.js.map +1 -1
  61. package/dist/scene/terrain-cm/grass.js +1 -0
  62. package/dist/scene/terrain-cm/grass.js.map +1 -1
  63. package/dist/scene/terrain-cm/terrain-cm.js +1 -0
  64. package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
  65. package/dist/scene/water.js +1 -0
  66. package/dist/scene/water.js.map +1 -1
  67. package/dist/utility/serialization/manager.js +1 -0
  68. package/dist/utility/serialization/manager.js.map +1 -1
  69. package/dist/utility/serialization/scene/animation.js +1 -0
  70. package/dist/utility/serialization/scene/animation.js.map +1 -1
  71. package/dist/utility/serialization/scene/batch.js +1 -0
  72. package/dist/utility/serialization/scene/batch.js.map +1 -1
  73. package/dist/utility/serialization/scene/camera.js +35 -2
  74. package/dist/utility/serialization/scene/camera.js.map +1 -1
  75. package/dist/utility/serialization/scene/light.js +1 -0
  76. package/dist/utility/serialization/scene/light.js.map +1 -1
  77. package/dist/utility/serialization/scene/mesh.js +1 -0
  78. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  79. package/dist/utility/serialization/scene/node.js +1 -0
  80. package/dist/utility/serialization/scene/node.js.map +1 -1
  81. package/dist/utility/serialization/scene/particle.js +1 -0
  82. package/dist/utility/serialization/scene/particle.js.map +1 -1
  83. package/dist/utility/serialization/scene/primitive.js +1 -0
  84. package/dist/utility/serialization/scene/primitive.js.map +1 -1
  85. package/dist/utility/serialization/scene/sprite.js +1 -0
  86. package/dist/utility/serialization/scene/sprite.js.map +1 -1
  87. package/dist/utility/serialization/scene/terrain.js +1 -0
  88. package/dist/utility/serialization/scene/terrain.js.map +1 -1
  89. package/dist/utility/serialization/scene/text.js +1 -0
  90. package/dist/utility/serialization/scene/text.js.map +1 -1
  91. package/dist/utility/serialization/scene/water.js +1 -0
  92. package/dist/utility/serialization/scene/water.js.map +1 -1
  93. package/dist/values.js +11 -1
  94. package/dist/values.js.map +1 -1
  95. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _zephyr3d_device from '@zephyr3d/device';
2
- import { TextureCube, FrameBuffer, Texture2D, GPUDataBuffer, PrimitiveType, TextureSampler, SamplerOptions, BindGroupLayout, ProgramBuilder, PBInsideFunctionScope, PBShaderExp, PBGlobalScope, VertexSemantic, StructuredBuffer, VertexAttribFormat, VertexStepMode, IndexBuffer, BindGroup, GPUProgram, RenderStateSet, FaceMode, PBFunctionScope, Texture2DArray, BaseTexture, ShaderTypeFunc, TextureFormat, AbstractDevice, TimestampQueryStatus, ColorState, TextureAddressMode, TextureFilterMode, TextureAtlasManager, DeviceBackend } from '@zephyr3d/device';
2
+ import { TextureCube, FrameBuffer, Texture2D, GPUDataBuffer, PrimitiveType, TextureSampler, SamplerOptions, BindGroupLayout, ProgramBuilder, PBInsideFunctionScope, PBShaderExp, PBGlobalScope, VertexSemantic, StructuredBuffer, VertexAttribFormat, VertexStepMode, IndexBuffer, BindGroup, GPUProgram, RenderStateSet, FaceMode, PBFunctionScope, Texture2DArray, BaseTexture, ShaderTypeFunc, TextureFormat, DeviceCaps, AbstractDevice, TimestampQueryStatus, ColorState, TextureAddressMode, TextureFilterMode, TextureAtlasManager, DeviceBackend } from '@zephyr3d/device';
3
3
  import * as _zephyr3d_base from '@zephyr3d/base';
4
4
  import { Disposable, TypedArray, Ray, AABB, Matrix4x4, Plane, Frustum, Vector3, Nullable, GenericConstructor, RequireOptionals, Immutable, Vector4, Clonable, IDisposable, Vector2, IEventTarget, Observable, DRef, Rect, CubeFace, Quaternion, Interpolator, InterpolationMode, InterpolatorScalar, DeepPartial, VFS, HttpRequest, WriteOptions, ReadOptions, DeepRequireOptionals } from '@zephyr3d/base';
5
5
 
@@ -4938,6 +4938,9 @@ declare abstract class RenderPass extends Disposable {
4938
4938
  /** Color value that is used to clear the frame buffer */
4939
4939
  get clearColor(): Nullable<Immutable<Vector4>>;
4940
4940
  set clearColor(color: Nullable<Immutable<Vector4>>);
4941
+ /** Per-target color values that are used to clear the frame buffer */
4942
+ get clearColors(): Nullable<readonly Nullable<Immutable<Vector4>>[]>;
4943
+ set clearColors(colors: Nullable<readonly Nullable<Immutable<Vector4>>[]>);
4941
4944
  /** Depth value that is used to clear the frame buffer */
4942
4945
  get clearDepth(): Nullable<number>;
4943
4946
  set clearDepth(depth: Nullable<number>);
@@ -6330,7 +6333,7 @@ interface OIT extends IDisposable {
6330
6333
  * @param scope - The global shader scope.
6331
6334
  * @param color - The calculated fragment color.
6332
6335
  */
6333
- outputFragmentColor(scope: PBInsideFunctionScope, color: PBShaderExp): boolean;
6336
+ outputFragmentColor(scope: PBInsideFunctionScope, color: PBShaderExp, ctx: DrawContext): boolean;
6334
6337
  /**
6335
6338
  * Applies the uniforms for the given draw context and bind group.
6336
6339
  *
@@ -6340,6 +6343,14 @@ interface OIT extends IDisposable {
6340
6343
  * @param bindGroup - The bind group.
6341
6344
  */
6342
6345
  applyUniforms(ctx: DrawContext, bindGroup: BindGroup): void;
6346
+ /**
6347
+ * Whether additive light passes should keep the material alpha before OIT output.
6348
+ *
6349
+ * @remarks
6350
+ * Some OIT algorithms need the original material alpha to weight additive light color,
6351
+ * but write zero alpha to their accumulation targets so transmittance is not counted twice.
6352
+ */
6353
+ wantsAdditiveLightPassAlpha?(): boolean;
6343
6354
  /**
6344
6355
  * Calculates the hash of the renderer.
6345
6356
  *
@@ -6394,6 +6405,10 @@ declare class WeightedBlendedOIT extends Disposable implements OIT {
6394
6405
  * {@inheritDoc OIT.wantsPremultipliedAlpha}
6395
6406
  */
6396
6407
  wantsPremultipliedAlpha(): boolean;
6408
+ /**
6409
+ * {@inheritDoc OIT.wantsAdditiveLightPassAlpha}
6410
+ */
6411
+ wantsAdditiveLightPassAlpha(): boolean;
6397
6412
  /**
6398
6413
  * {@inheritDoc OIT.begin}
6399
6414
  */
@@ -6481,6 +6496,10 @@ declare class ABufferOIT extends Disposable implements OIT {
6481
6496
  * {@inheritDoc OIT.wantsPremultipliedAlpha}
6482
6497
  */
6483
6498
  wantsPremultipliedAlpha(): boolean;
6499
+ /**
6500
+ * {@inheritDoc OIT.wantsAdditiveLightPassAlpha}
6501
+ */
6502
+ wantsAdditiveLightPassAlpha(): boolean;
6484
6503
  /**
6485
6504
  * {@inheritDoc OIT.begin}
6486
6505
  */
@@ -6520,6 +6539,109 @@ declare class ABufferOIT extends Disposable implements OIT {
6520
6539
  protected onDispose(): void;
6521
6540
  }
6522
6541
 
6542
+ /**
6543
+ * Dual depth peeling OIT renderer.
6544
+ *
6545
+ * @remarks
6546
+ * This implementation follows the official dual depth peeling pass structure:
6547
+ * an initialization pass writes the nearest/farthest transparent depth pair, then
6548
+ * each peel pass ping-pongs the depth pair while accumulating front and back colors.
6549
+ *
6550
+ * It requires MRT, per-target blending, min/max blend equations and blendable
6551
+ * floating-point color targets. If those capabilities are missing, supportDevice()
6552
+ * returns false and the transparent pass falls back to sorted alpha blending.
6553
+ *
6554
+ * @public
6555
+ */
6556
+ declare class DualDepthPeelingOIT extends Disposable implements OIT {
6557
+ /** Type name of DualDepthPeelingOIT */
6558
+ static readonly type = "ddp";
6559
+ private static readonly DEPTH_CLEAR;
6560
+ private static readonly FRONT_CLEAR;
6561
+ private static readonly BACK_CLEAR;
6562
+ private static _compositeProgram;
6563
+ private static _compositeBindGroup;
6564
+ private static _compositeRenderStates;
6565
+ private _numPeels;
6566
+ private _currentPass;
6567
+ private _hash;
6568
+ private _depthTargets;
6569
+ private _frontTarget;
6570
+ private _backTarget;
6571
+ private _framebuffers;
6572
+ private _device;
6573
+ /**
6574
+ * Creates an instance of DualDepthPeelingOIT.
6575
+ *
6576
+ * @param numPeels - Number of peel iterations after the initialization pass.
6577
+ */
6578
+ constructor(numPeels?: number);
6579
+ /** Number of front/back peel iterations after the initialization pass. */
6580
+ get numPeels(): number;
6581
+ set numPeels(val: number);
6582
+ /**
6583
+ * Checks whether dual depth peeling can run with a capability snapshot.
6584
+ *
6585
+ * @param deviceType - The device type.
6586
+ * @param caps - The device capabilities.
6587
+ * @returns True if dual depth peeling is supported.
6588
+ */
6589
+ static supportDeviceCaps(deviceType: string, caps: DeviceCaps): boolean;
6590
+ /**
6591
+ * {@inheritDoc OIT.getType}
6592
+ */
6593
+ getType(): string;
6594
+ /**
6595
+ * {@inheritDoc OIT.supportDevice}
6596
+ */
6597
+ supportDevice(deviceType: string): boolean;
6598
+ /**
6599
+ * {@inheritDoc OIT.wantsPremultipliedAlpha}
6600
+ */
6601
+ wantsPremultipliedAlpha(): boolean;
6602
+ /**
6603
+ * {@inheritDoc OIT.wantsAdditiveLightPassAlpha}
6604
+ */
6605
+ wantsAdditiveLightPassAlpha(): boolean;
6606
+ /**
6607
+ * {@inheritDoc OIT.begin}
6608
+ */
6609
+ begin(ctx: DrawContext): number;
6610
+ /**
6611
+ * {@inheritDoc OIT.end}
6612
+ */
6613
+ end(ctx: DrawContext): void;
6614
+ /**
6615
+ * {@inheritDoc OIT.beginPass}
6616
+ */
6617
+ beginPass(ctx: DrawContext, pass: number): boolean;
6618
+ /**
6619
+ * {@inheritDoc OIT.endPass}
6620
+ */
6621
+ endPass(ctx: DrawContext, _pass: number): void;
6622
+ /**
6623
+ * {@inheritDoc OIT.setupFragmentOutput}
6624
+ */
6625
+ setupFragmentOutput(scope: PBGlobalScope): void;
6626
+ /**
6627
+ * {@inheritDoc OIT.outputFragmentColor}
6628
+ */
6629
+ outputFragmentColor(scope: PBInsideFunctionScope, color: PBShaderExp, ctx: DrawContext): boolean;
6630
+ /**
6631
+ * {@inheritDoc OIT.applyUniforms}
6632
+ */
6633
+ applyUniforms(_ctx: DrawContext, bindGroup: BindGroup): void;
6634
+ /**
6635
+ * {@inheritDoc OIT.calculateHash}
6636
+ */
6637
+ calculateHash(): string;
6638
+ /**
6639
+ * {@inheritDoc OIT.setRenderStates}
6640
+ */
6641
+ setRenderStates(rs: RenderStateSet): void;
6642
+ protected onDispose(): void;
6643
+ }
6644
+
6523
6645
  /**
6524
6646
  * Abstract class for wave generators.
6525
6647
  * @public
@@ -7164,6 +7286,14 @@ interface RGTextureDesc {
7164
7286
  height?: number;
7165
7287
  /** Number of mip levels. Default 1. */
7166
7288
  mipLevels?: number;
7289
+ /**
7290
+ * Number of array layers. When omitted, a plain 2D texture is allocated. When
7291
+ * defined (including 1), the allocator produces a 2D array texture — a
7292
+ * single-layer array is a distinct texture type from a 2D texture and is not
7293
+ * interchangeable when bound to a `tex2DArray` sampler. Individual layers can be
7294
+ * targeted as framebuffer color attachments via {@link RGFramebufferDesc.attachmentLayer}.
7295
+ */
7296
+ arrayLayers?: number;
7167
7297
  }
7168
7298
  /**
7169
7299
  * Opaque handle referencing a resource within the render graph.
@@ -8010,6 +8140,7 @@ declare const FrameResources: {
8010
8140
  readonly SSSDiffuse: "sssDiffuse";
8011
8141
  readonly SSSTransmission: "sssTransmission";
8012
8142
  readonly SkinSSS: "skinSSS";
8143
+ readonly ShadowMask: "shadowMask";
8013
8144
  };
8014
8145
  /**
8015
8146
  * Named registry of render graph resource handles for the current frame.
@@ -8730,7 +8861,7 @@ type RenderPath = 'forward';
8730
8861
  * Camera Order-Independent Transparency mode.
8731
8862
  * @public
8732
8863
  */
8733
- type CameraOITMode = 'none' | 'weighted' | 'abuffer';
8864
+ type CameraOITMode = 'none' | 'weighted' | 'abuffer' | 'dual-depth';
8734
8865
  /**
8735
8866
  * Subsurface Scattering debug visualization modes (implementation-defined).
8736
8867
  * @public
@@ -8813,6 +8944,16 @@ declare class Camera extends SceneNode {
8813
8944
  */
8814
8945
  get HiZ(): boolean;
8815
8946
  set HiZ(val: boolean);
8947
+ /**
8948
+ * Whether the screen-space shadow mask is enabled.
8949
+ *
8950
+ * When enabled, shadow-casting lights are lit through the clustered pass and
8951
+ * sample a pre-rendered screen-space shadow mask instead of each casting an
8952
+ * additional full-scene additive light pass. Requires the depth prepass
8953
+ * (always on in Forward+).
8954
+ */
8955
+ get screenSpaceShadowMask(): boolean;
8956
+ set screenSpaceShadowMask(val: boolean);
8816
8957
  /**
8817
8958
  * Render path used by the scene renderer.
8818
8959
  */
@@ -9079,6 +9220,9 @@ declare class Camera extends SceneNode {
9079
9220
  /** ABuffer OIT layer budget. */
9080
9221
  get oitABufferLayers(): number;
9081
9222
  set oitABufferLayers(val: number);
9223
+ /** Dual depth peeling OIT peel iteration count. */
9224
+ get oitDualDepthPeels(): number;
9225
+ set oitDualDepthPeels(val: number);
9082
9226
  /** Clip plane mask */
9083
9227
  get clipMask(): number;
9084
9228
  set clipMask(val: number);
@@ -9560,6 +9704,8 @@ declare class FXAA extends AbstractPostEffect {
9560
9704
  }
9561
9705
 
9562
9706
  declare class ClusteredLight {
9707
+ /** Emit the shadow-mask overflow warning only once per session. */
9708
+ private static _warnedShadowMaskOverflow;
9563
9709
  private readonly _tileCountX;
9564
9710
  private readonly _tileCountY;
9565
9711
  private readonly _tileCountZ;
@@ -9574,8 +9720,15 @@ declare class ClusteredLight {
9574
9720
  private readonly _sizeParam;
9575
9721
  private _countParam;
9576
9722
  private readonly _clusterParam;
9723
+ private _numShadowLights;
9577
9724
  constructor();
9578
9725
  get lightBuffer(): Nullable<StructuredBuffer<unknown>>;
9726
+ /**
9727
+ * Number of shadow-casting lights placed at the head of the clustered light
9728
+ * buffer (indices `1..N`), each backed by a screen-space shadow mask slot.
9729
+ * Zero unless the screen-space shadow mask path is active.
9730
+ */
9731
+ get numShadowLights(): number;
9579
9732
  get clusterParam(): Vector4;
9580
9733
  get countParam(): Int32Array<ArrayBuffer>;
9581
9734
  get lightIndexTexture(): Nullable<Texture2D<unknown>>;
@@ -9647,6 +9800,28 @@ interface DrawContext {
9647
9800
  readonly HiZ: boolean;
9648
9801
  /** Hi-Z (hierarchical Z) depth texture, when generated. */
9649
9802
  HiZTexture: Nullable<Texture2D>;
9803
+ /**
9804
+ * Whether the screen-space shadow mask path is active for this pass. When true,
9805
+ * shadow-casting lights occupy the head of the clustered light buffer and are
9806
+ * shaded through the clustered pass sampling a pre-rendered shadow mask, rather
9807
+ * than via per-light additive passes.
9808
+ */
9809
+ readonly screenSpaceShadowMask: boolean;
9810
+ /**
9811
+ * Screen-space shadow mask array, produced by the ShadowMaskPass when
9812
+ * {@link DrawContext.screenSpaceShadowMask} is active. Each RGBA8 layer packs
9813
+ * four shadow lights (one per channel); a clustered light at buffer index `i`
9814
+ * (1..N) samples `layer = (i-1) >> 2`, `channel = (i-1) & 3`.
9815
+ */
9816
+ shadowMaskTexture?: Nullable<Texture2DArray>;
9817
+ /**
9818
+ * Whether the current clustered light pass should sample the opaque shadow mask
9819
+ * for shadow-casting lights. True for the opaque queue; false for transparent
9820
+ * queues (e.g. OIT hair), where shadow lights are instead lit inline by the
9821
+ * additive passes because the opaque-depth mask does not represent transparent
9822
+ * surfaces. Only meaningful while {@link DrawContext.screenSpaceShadowMask} is on.
9823
+ */
9824
+ shadowMaskClusterSample?: boolean;
9650
9825
  /** The scene currently being drawn. */
9651
9826
  readonly scene: Scene;
9652
9827
  /** The render pass to which this drawing task belongs. */
@@ -28256,6 +28431,17 @@ declare const LIGHT_TYPE_RECT = 4;
28256
28431
  * @public
28257
28432
  */
28258
28433
  declare const MAX_CLUSTERED_LIGHTS = 255;
28434
+ /**
28435
+ * Max number of shadow-casting lights backed by the screen-space shadow mask.
28436
+ *
28437
+ * Each mask layer packs 4 lights (one per RGBA8 channel), so this maps to
28438
+ * `MAX_SHADOW_MASK_LIGHTS / 4` texture array layers. Shadow-casting lights are
28439
+ * placed at the head of the clustered light buffer (indices `1..N`), so this
28440
+ * value must not exceed {@link MAX_CLUSTERED_LIGHTS}. Shadow lights beyond this
28441
+ * cap fall back to being lit without a mask-backed shadow.
28442
+ * @public
28443
+ */
28444
+ declare const MAX_SHADOW_MASK_LIGHTS = 32;
28259
28445
  /**
28260
28446
  * Opaque render queue type
28261
28447
  * @public
@@ -28321,4 +28507,4 @@ declare const ATMOSPHERIC_FOG_BIT: number;
28321
28507
  */
28322
28508
  declare const HEIGHT_FOG_BIT: number;
28323
28509
 
28324
- export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationController, type AnimationControllerEventMap, type AnimationControllerSetStateOptions, type AnimationControllerStateDefinition, type AnimationFrameEvent, type AnimationMarker, type AnimationMarkerEvent, AnimationPlayback, type AnimationPlaybackEvent, type AnimationPlaybackEventMap, type AnimationPlaybackState, type AnimationPlaybackStopEvent, type AnimationPlaybackSyncMode, type AnimationPlaybackSyncOptions, AnimationSet, type AnimationSetEventMap, type AnimationStopReason, type AnimationTimeRef, AnimationTimeline, type AnimationTimelineActiveDisposition, type AnimationTimelineDefinition, type AnimationTimelineEventPolicy, type AnimationTimelineEventResponse, type AnimationTimelineEventResult, type AnimationTimelineEventTarget, AnimationTimelineRunner, type AnimationTimelineRunnerEventMap, type AnimationTimelineRunnerState, type AnimationTimelineStateReturnTarget, type AnimationTimelineStep, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, type AssetGeometryCacheFrame, AssetHierarchyNode, type AssetImageInfo, type AssetJointDynamicsChain, type AssetJointDynamicsCollider, type AssetJointDynamicsFlatPlane, type AssetJointDynamicsSpringBone, type AssetMToonMaterial, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetMorphTargetBinding, type AssetMorphTargetGroup, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetPrimitiveInfo, type AssetRotationTrack, type AssetSamplerInfo, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSpringBone, type AssetSpringBoneCollider, type AssetSpringBoneColliderGroup, type AssetSpringBoneColliderShape, type AssetSpringBoneJoint, type AssetSubMeshData, type AssetTextureInfo, type AssetTranslationTrack, type AssetUnlitMaterial, type AssetVertexBufferInfo, type AvatarBindMode, type AvatarBodyRegionTarget, type AvatarBodyRegions, type AvatarEquipOptions, type AvatarFitMode, type AvatarJointMap, AvatarOutfitInstance, type AvatarOutfitSource, type AvatarOutfitValidation, type AvatarSlotId, type AvatarSlotOptions, AvatarWardrobe, type AvatarWardrobeOptions, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, type BaseFetchOptions, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, type CameraHistoryData, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, type ColoredEdge, type ColoredLineEdge, type ColoredQuadraticEdge, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorBuildLayerOptions, type CompositorBuildLayerResult, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, type ControllerConfigUpdate, CopyBlitter, type CopyHumanoidAnimationOptions, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, EPSILON, type EdgeColor, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, FontAsset, type FontAssetFetchOptions, type FontAssetMSDFAtlasSettings, type FontMetrics, type ForwardPlusOptions, FractNode, FrameResources, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GlyphContour, type GlyphData, type GlyphPoint, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type HumanoidRetargetAxisLocks, type HumanoidRootMotionMode, type HumanoidRootMotionScaleMode, type HumanoidSkeletalAnimationMaskOptions, type HumanoidSkeletalAnimationMaskPreset, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, InstanceIndexNode, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsColliderSnapshot, type JointDynamicsFlatPlaneHandle, type JointDynamicsFlatPlaneSnapshot, type JointDynamicsGrabberHandle, type JointDynamicsGrabberSnapshot, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, type JointNameMatcher, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, type MSDFBitmap, type MSDFOptions, type MSDFShape, MSDFText, MSDFTextAtlasManager, MSDFTextSprite, MToonMaterial, type MToonOutlineWidthMode, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh$1 as Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata$1 as Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type ModelLoader, type MorphBoundingInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetGroupTrack, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, type NamedJointsSkeletalAnimationMaskOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, type PBRBlueprintOutputName, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, type PairAdjustment, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, type PostEffectHistoryRead, PostEffectLayer, type PostEffectOutput, type PostEffectSetupContext, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, RGBlackboard, type RGExecuteContext, type RGExecuteFn, type RGFramebufferDesc, RGHandle, RGHistoryResources, type RGPassBuilder, type RGProfileResult, type RGProfileScopeResult, type RGProfileScopeType, type RGProfilingOptions, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, RGSubpass, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, type RenderFunc, RenderGraph, RenderGraphExecutor, type RenderGraphExecutorOptions, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, type RenderPath, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SSSDebugView, type SSSQualityPreset, type SSSResolvedSettings, type SamplerType, SaturateNode, type SaveOptions, Scene, type SceneMorphTargetBinding, type SceneMorphTargetGroup, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, type SerializedMorphTargetBinding, type SerializedMorphTargetGroup, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, ShadowRegion, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, type SkeletalAnimationMaskCommonOptions, type SkeletalAnimationMaskOptions, type SkeletalAnimationMaskRootMotionMode, type SkeletalAnimationMaskUnsupportedTrackMode, Skeleton, type SkeletonBindPose, SkeletonModifier, SkeletonRig, type SkeletonRigOptions, SkinBinding, SkinMaterial, SkinSSS, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, SubsurfaceProfile, type SubsurfaceProfilePreset, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, TextSprite, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexIndexNode, VertexNormalNode, VertexOutputNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildMSDFShape, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, generateMSDF, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, getSamplerOptions, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
28510
+ export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationController, type AnimationControllerEventMap, type AnimationControllerSetStateOptions, type AnimationControllerStateDefinition, type AnimationFrameEvent, type AnimationMarker, type AnimationMarkerEvent, AnimationPlayback, type AnimationPlaybackEvent, type AnimationPlaybackEventMap, type AnimationPlaybackState, type AnimationPlaybackStopEvent, type AnimationPlaybackSyncMode, type AnimationPlaybackSyncOptions, AnimationSet, type AnimationSetEventMap, type AnimationStopReason, type AnimationTimeRef, AnimationTimeline, type AnimationTimelineActiveDisposition, type AnimationTimelineDefinition, type AnimationTimelineEventPolicy, type AnimationTimelineEventResponse, type AnimationTimelineEventResult, type AnimationTimelineEventTarget, AnimationTimelineRunner, type AnimationTimelineRunnerEventMap, type AnimationTimelineRunnerState, type AnimationTimelineStateReturnTarget, type AnimationTimelineStep, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, type AssetGeometryCacheFrame, AssetHierarchyNode, type AssetImageInfo, type AssetJointDynamicsChain, type AssetJointDynamicsCollider, type AssetJointDynamicsFlatPlane, type AssetJointDynamicsSpringBone, type AssetMToonMaterial, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetMorphTargetBinding, type AssetMorphTargetGroup, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetPrimitiveInfo, type AssetRotationTrack, type AssetSamplerInfo, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSpringBone, type AssetSpringBoneCollider, type AssetSpringBoneColliderGroup, type AssetSpringBoneColliderShape, type AssetSpringBoneJoint, type AssetSubMeshData, type AssetTextureInfo, type AssetTranslationTrack, type AssetUnlitMaterial, type AssetVertexBufferInfo, type AvatarBindMode, type AvatarBodyRegionTarget, type AvatarBodyRegions, type AvatarEquipOptions, type AvatarFitMode, type AvatarJointMap, AvatarOutfitInstance, type AvatarOutfitSource, type AvatarOutfitValidation, type AvatarSlotId, type AvatarSlotOptions, AvatarWardrobe, type AvatarWardrobeOptions, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, type BaseFetchOptions, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, type CameraHistoryData, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, type ColoredEdge, type ColoredLineEdge, type ColoredQuadraticEdge, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorBuildLayerOptions, type CompositorBuildLayerResult, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, type ControllerConfigUpdate, CopyBlitter, type CopyHumanoidAnimationOptions, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, DualDepthPeelingOIT, EPSILON, type EdgeColor, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, FontAsset, type FontAssetFetchOptions, type FontAssetMSDFAtlasSettings, type FontMetrics, type ForwardPlusOptions, FractNode, FrameResources, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GlyphContour, type GlyphData, type GlyphPoint, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type HumanoidRetargetAxisLocks, type HumanoidRootMotionMode, type HumanoidRootMotionScaleMode, type HumanoidSkeletalAnimationMaskOptions, type HumanoidSkeletalAnimationMaskPreset, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, InstanceIndexNode, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsColliderSnapshot, type JointDynamicsFlatPlaneHandle, type JointDynamicsFlatPlaneSnapshot, type JointDynamicsGrabberHandle, type JointDynamicsGrabberSnapshot, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, type JointNameMatcher, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_SHADOW_MASK_LIGHTS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, type MSDFBitmap, type MSDFOptions, type MSDFShape, MSDFText, MSDFTextAtlasManager, MSDFTextSprite, MToonMaterial, type MToonOutlineWidthMode, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh$1 as Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata$1 as Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type ModelLoader, type MorphBoundingInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetGroupTrack, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, type NamedJointsSkeletalAnimationMaskOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, type PBRBlueprintOutputName, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, type PairAdjustment, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, type PostEffectHistoryRead, PostEffectLayer, type PostEffectOutput, type PostEffectSetupContext, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, RGBlackboard, type RGExecuteContext, type RGExecuteFn, type RGFramebufferDesc, RGHandle, RGHistoryResources, type RGPassBuilder, type RGProfileResult, type RGProfileScopeResult, type RGProfileScopeType, type RGProfilingOptions, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, RGSubpass, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, type RenderFunc, RenderGraph, RenderGraphExecutor, type RenderGraphExecutorOptions, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, type RenderPath, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SSSDebugView, type SSSQualityPreset, type SSSResolvedSettings, type SamplerType, SaturateNode, type SaveOptions, Scene, type SceneMorphTargetBinding, type SceneMorphTargetGroup, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, type SerializedMorphTargetBinding, type SerializedMorphTargetGroup, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, ShadowRegion, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, type SkeletalAnimationMaskCommonOptions, type SkeletalAnimationMaskOptions, type SkeletalAnimationMaskRootMotionMode, type SkeletalAnimationMaskUnsupportedTrackMode, Skeleton, type SkeletonBindPose, SkeletonModifier, SkeletonRig, type SkeletonRigOptions, SkinBinding, SkinMaterial, SkinSSS, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, SubsurfaceProfile, type SubsurfaceProfilePreset, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, TextSprite, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexIndexNode, VertexNormalNode, VertexOutputNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildMSDFShape, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, generateMSDF, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, getSamplerOptions, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@ export { Primitive } from './render/primitive.js';
45
45
  export { CullVisitor } from './render/cull_visitor.js';
46
46
  export { WeightedBlendedOIT } from './render/weightedblended_oit.js';
47
47
  export { ABufferOIT } from './render/abuffer_oit.js';
48
+ export { DualDepthPeelingOIT } from './render/dualdepthpeeling_oit.js';
48
49
  export { FFTWaveGenerator } from './render/fft_wavegenerator.js';
49
50
  export { GerstnerWaveGenerator } from './render/gerstner_wavegenerator.js';
50
51
  export { FBMWaveGenerator } from './render/fbm_wavegenerator.js';
@@ -174,7 +175,7 @@ export { Blitter } from './blitter/blitter.js';
174
175
  export { GaussianBlurBlitter } from './blitter/gaussianblur.js';
175
176
  export { BoxFilterBlitter } from './blitter/box.js';
176
177
  export { CopyBlitter } from './blitter/copy.js';
177
- export { ATMOSPHERIC_FOG_BIT, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, Fog, HEIGHT_FOG_BIT, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MaterialVaryingFlags, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, uniformSphereSamples } from './values.js';
178
+ export { ATMOSPHERIC_FOG_BIT, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, Fog, HEIGHT_FOG_BIT, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_SHADOW_MASK_LIGHTS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MaterialVaryingFlags, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, uniformSphereSamples } from './values.js';
178
179
  export { AbstractPostEffect, PostEffectLayer } from './posteffect/posteffect.js';
179
180
  export { Grayscale } from './posteffect/grayscale.js';
180
181
  export { ColorAdjust } from './posteffect/coloradjust.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -983,14 +983,14 @@ let FEATURE_DISABLE_TAA = 0;
983
983
  pb.discard();
984
984
  });
985
985
  }
986
- if (that.drawContext.oit && that.drawContext.lightBlending && that.drawContext.oit.getType() !== 'ab') {
986
+ if (that.drawContext.oit && that.drawContext.lightBlending && !(that.drawContext.oit.wantsAdditiveLightPassAlpha?.() ?? false)) {
987
987
  // For OIT with multi-light decomposition, keep additive light passes
988
988
  // color-only to avoid duplicating per-fragment transmittance.
989
989
  this.outColor = pb.vec4(this.outColor.rgb, 0);
990
990
  } else if (!that.drawContext.oit || that.drawContext.oit.wantsPremultipliedAlpha()) {
991
991
  this.outColor = pb.vec4(pb.mul(this.outColor.rgb, this.outColor.a), that.featureUsed(FEATURE_ALPHABLEND) === 'additive' ? 0 : this.outColor.a);
992
992
  }
993
- output = !that.drawContext.oit || !that.drawContext.oit.outputFragmentColor(this, this.outColor);
993
+ output = !that.drawContext.oit || !that.drawContext.oit.outputFragmentColor(this, this.outColor, that.drawContext);
994
994
  }
995
995
  if (output) {
996
996
  ShaderHelper.applyFog(this, this.worldPos, this.outColor, that.drawContext);