@babylonjs-toolkit/next 9.34.10 → 9.34.100

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.
@@ -2183,7 +2183,7 @@ export declare class HdrpRendering {
2183
2183
  };
2184
2184
  static RegisterShaders(): void;
2185
2185
  static CreateSanitizePass(scene: Scene, camera: Camera, textureType: number): PostProcess;
2186
- private static SceneMetadata;
2186
+ static SceneMetadata(scene: Scene): any;
2187
2187
  private static State;
2188
2188
  private static ApplyBinding;
2189
2189
  }
@@ -2218,6 +2218,7 @@ export declare class LightingConversions {
2218
2218
  static SubtractiveShadowColor(exported: any, assumeGamma: boolean): Color3;
2219
2219
  static MainLightColor(light: any): Color3;
2220
2220
  static UnityLinearLightColor(light: any): Color3;
2221
+ static LinearizeLightColor(light: Light, scene: Scene): boolean;
2221
2222
  private static Warned;
2222
2223
  static SetShadowFade(scene: Scene, fade: any): void;
2223
2224
  static GetShadowFade(scene: Scene): Vector4;
@@ -2265,6 +2266,7 @@ export declare class LightingConversions {
2265
2266
  static readonly RelativeUnits: string;
2266
2267
  static EnvironmentUnits(value: any): string;
2267
2268
  static SpecularEnvironmentLevel(reflection: number, units: string, levelMax: number): number;
2269
+ static EnvironmentAmbientScale(ambientIntensity: number, environmentLevel: number, units: string, isParity: boolean): number;
2268
2270
  static WarnBakedSkyWithoutEnvironment(skybox: any): boolean;
2269
2271
  static IntensityModeFor(lightType: number): number;
2270
2272
  static IsIntensityModeValid(lightType: number, mode: number): boolean;
@@ -2520,10 +2522,28 @@ export declare class OpaqueSceneColor {
2520
2522
  private static CreateTarget;
2521
2523
  static ShadowMapsRendered(scene: Scene, camera: Camera): boolean;
2522
2524
  static UseCopy: boolean;
2525
+ private static readonly COPY_PLAIN;
2526
+ private static readonly COPY_TO_LINEAR;
2527
+ static CopyConversionFor(imageProcessing: {
2528
+ isEnabled: boolean;
2529
+ applyByPostProcess: boolean;
2530
+ }): number;
2523
2531
  static QueueSamples(subMeshes: any, materials: any): boolean;
2524
2532
  static InstallCopy(scene: Scene, store: any): void;
2525
2533
  private static CopyNow;
2526
2534
  }
2535
+ export interface IUrpSceneBlock {
2536
+ version: number;
2537
+ sky?: any;
2538
+ fog?: any;
2539
+ clouds?: any;
2540
+ }
2541
+ export declare class PhysicalSkyBlock {
2542
+ static readonly UrpBlockVersion: number;
2543
+ static UrpBlock(metadata: any): IUrpSceneBlock;
2544
+ static SkyOf(metadata: any): any;
2545
+ static FogOf(metadata: any): any;
2546
+ }
2527
2547
  export declare class FixedStepClock {
2528
2548
  static readonly DEFAULT_FIXED_DELTA_TIME: number;
2529
2549
  static readonly DEFAULT_MAXIMUM_DELTA_TIME: number;
@@ -2829,6 +2849,7 @@ export declare class SceneShaderWarmup {
2829
2849
  static DrawHiddenMeshesOnReveal: boolean;
2830
2850
  static WarmEmptyThinInstancesOnReveal: boolean;
2831
2851
  static WarmScaleVariantsOnReveal: boolean;
2852
+ static WarmNativeLodLevelsOnReveal: boolean;
2832
2853
  static OPTIONAL_UNIT_GRACE_MS: number;
2833
2854
  private static GIVEN_UP_NAMES_SHOWN;
2834
2855
  static LateCompileReporting: boolean;
@@ -2982,8 +3003,9 @@ export declare class SceneShaderWarmup {
2982
3003
  private static RestoreHiddenMeshes;
2983
3004
  private static KeepHiddenCastersInShadowMaps;
2984
3005
  private static RestoreShadowCasterLists;
2985
- private static DrawPunctualShadowMapsFully;
2986
- private static RestorePunctualShadowMaps;
3006
+ private static DrawShadowMapsFully;
3007
+ static HasCasterCullingList(shadowMap: RenderTargetTexture): boolean;
3008
+ private static RestoreFullShadowMaps;
2987
3009
  private static readonly MATERIAL_VARIANT_FRAMES;
2988
3010
  private static readonly MaterialVariants;
2989
3011
  static WarmMaterialVariant(mesh: AbstractMesh, material: Material): void;
@@ -3008,6 +3030,9 @@ export declare class SceneShaderWarmup {
3008
3030
  private static ForgetReadyThisFrame;
3009
3031
  private static AlternateScaleVariants;
3010
3032
  private static RestoreScaleVariants;
3033
+ static NativeLodSequence(mesh: AbstractMesh): AbstractMesh[];
3034
+ static CycleNativeLodLevels(scene: Scene): INativeLodCycle;
3035
+ static RestoreNativeLodLevels(scene: Scene, cycle: INativeLodCycle): void;
3011
3036
  private static SetScaleVariantForced;
3012
3037
  private static ShowHiddenEmittersForDraws;
3013
3038
  private static RestoreHiddenEmitters;
@@ -3278,6 +3303,14 @@ export interface IScaleVariantDraw {
3278
3303
  drawingOther: boolean;
3279
3304
  frameObserver: Observer<Scene>;
3280
3305
  }
3306
+ export interface INativeLodCycle {
3307
+ sequences: Map<AbstractMesh, AbstractMesh[]>;
3308
+ length: number;
3309
+ frameIndex: number;
3310
+ previousSelector: (mesh: AbstractMesh, camera: Camera) => Nullable<AbstractMesh>;
3311
+ selector: (mesh: AbstractMesh, camera: Camera) => Nullable<AbstractMesh>;
3312
+ frameObserver: Observer<Scene>;
3313
+ }
3281
3314
  export interface IHiddenEmitterDraw {
3282
3315
  node: BabylonNode;
3283
3316
  ownIsEnabled: (checkAncestors?: boolean) => boolean;
@@ -3314,12 +3347,16 @@ export interface ISubMeshDrawWrappers {
3314
3347
  _drawWrappers?: DrawWrapper[];
3315
3348
  }
3316
3349
  export type CustomRenderListFunction = (layerOrFace: number, renderList: readonly AbstractMesh[], renderListLength: number) => AbstractMesh[];
3350
+ export interface ICasterCullingListMarks {
3351
+ tkCasterCulling?: boolean;
3352
+ tkTerrainCulling?: boolean;
3353
+ }
3317
3354
  export interface IShadowCasterListWrap {
3318
3355
  shadowMap: RenderTargetTexture;
3319
3356
  customList: CustomRenderListFunction;
3320
3357
  keptList: CustomRenderListFunction;
3321
3358
  }
3322
- export interface IPunctualShadowMapDraw {
3359
+ export interface IShadowMapFullDraw {
3323
3360
  shadowMap: RenderTargetTexture;
3324
3361
  customList: CustomRenderListFunction;
3325
3362
  }
@@ -3699,7 +3736,14 @@ export interface IShaderClock {
3699
3736
  smoothDeltaTime: number;
3700
3737
  frame: number;
3701
3738
  }
3739
+ export interface IShaderGlobalDriver {
3740
+ name: string;
3741
+ component: number;
3742
+ rate: number;
3743
+ wrap: number;
3744
+ }
3702
3745
  export declare class ShaderGlobals {
3746
+ private static readonly DriverComponentNames;
3703
3747
  private static _version;
3704
3748
  private static _floats;
3705
3749
  private static _vectors;
@@ -3723,6 +3767,8 @@ export declare class ShaderGlobals {
3723
3767
  static DisableKeyword(name: string): void;
3724
3768
  static IsKeywordEnabled(name: string): boolean;
3725
3769
  static LoadSceneGlobals(scene: Scene, block: any): void;
3770
+ static LoadSceneDrivers(scene: Scene, drivers: IShaderGlobalDriver[]): void;
3771
+ private static AdvanceDriver;
3726
3772
  static GetClock(scene: Scene): IShaderClock;
3727
3773
  }
3728
3774
  export interface IShaderGraphPassData {
@@ -3895,6 +3941,8 @@ export declare class ShaderGraphRuntime {
3895
3941
  static SetThinInstanceValue(mesh: Mesh, index: number, key: string, value: any, sub?: number): boolean;
3896
3942
  static ApplyInstanceBlock(instance: InstancedMesh, block: any, sub?: number): boolean;
3897
3943
  static CloneWithBlock(material: Material, block: any, meshId: number, loadTexture?: (info: any, done: (texture: BaseTexture) => void) => void): Material;
3944
+ static RecordExportReport(scene: Scene, entries: IExportReportEntry[]): void;
3945
+ private static PrintExportReport;
3898
3946
  static FlushSceneSummary(scene: Scene): void;
3899
3947
  }
3900
3948
  export interface ShaderGraphSceneRecord {
@@ -3913,6 +3961,13 @@ export interface ShaderGraphSceneRecord {
3913
3961
  scheduled?: boolean;
3914
3962
  timer?: any;
3915
3963
  deadline?: number;
3964
+ exportReport?: IExportReportEntry[];
3965
+ }
3966
+ export interface IExportReportEntry {
3967
+ feature: string;
3968
+ reason: string;
3969
+ items: string[];
3970
+ count: number;
3916
3971
  }
3917
3972
  export declare class SgShadowDepth {
3918
3973
  static Enabled: boolean;
@@ -4553,6 +4608,9 @@ export declare class UnityLodGroups {
4553
4608
  static readonly FADE_CROSSFADE: number;
4554
4609
  static readonly FADE_SPEEDTREE: number;
4555
4610
  static FADE_SECONDS: number;
4611
+ static readonly NATIVE_TRANSFORM_TOLERANCE_METERS: number;
4612
+ static readonly NATIVE_BASIS_TOLERANCE: number;
4613
+ private static readonly BASIS_ELEMENTS;
4556
4614
  static ExportedSize(root: TransformNode, metadata: any): {
4557
4615
  worldSize: number;
4558
4616
  localPoint: Vector3;
@@ -4561,6 +4619,9 @@ export declare class UnityLodGroups {
4561
4619
  useDistances: boolean;
4562
4620
  thresholds: number[];
4563
4621
  };
4622
+ static LevelsShareTransform(master: AbstractMesh, details: AbstractMesh[]): boolean;
4623
+ private static MatricesShareTransform;
4624
+ static RequiresSwitcher(meshLevels: AbstractMesh[][], fadeMode: number): boolean;
4564
4625
  static ParseFadeMode(mode: string): number;
4565
4626
  lodBias: number;
4566
4627
  private _scene;
@@ -13347,6 +13408,7 @@ export declare class HdrpFogPass {
13347
13408
  private static registered;
13348
13409
  static FogBlock(scene: Scene): any;
13349
13410
  static SkyOf(scene: Scene): any;
13411
+ private static BindChain;
13350
13412
  static Frame(scene: Scene, fog: any): IHdrpFogFrame;
13351
13413
  static SkyDepth(scene: Scene): number;
13352
13414
  static RegisterShaders(): void;
@@ -13361,6 +13423,8 @@ export declare class HdrpFogPass {
13361
13423
  static AmbientDeclarations(wgsl: boolean): string;
13362
13424
  static AmbientGlsl(): string;
13363
13425
  static AmbientWgsl(): string;
13426
+ static AerialPerspectiveGlsl(): string;
13427
+ static AerialPerspectiveWgsl(): string;
13364
13428
  static GlslHelpers(prefix: string): string;
13365
13429
  static WgslHelpers(prefix: string): string;
13366
13430
  private static Glsl;
@@ -13545,6 +13609,10 @@ export declare class HdrpPhysicallyBasedSky {
13545
13609
  requested: boolean;
13546
13610
  captured: boolean;
13547
13611
  }, nowSeconds: number, frame: number, precomputationHash: string, lightHash: string, updateMode: number, updatePeriod: number): boolean;
13612
+ static readonly ProbeRenderKept: number;
13613
+ static readonly ProbeCaptureAccepted: number;
13614
+ static readonly ProbeCaptureRetry: number;
13615
+ static ProbeRenderOutcome(capturing: boolean, pendingFilter: boolean, drewSky: boolean): number;
13548
13616
  static SelectAmbientSh(skyAmbientMode: number, readback: SphericalHarmonics, exported: SphericalHarmonics): SphericalHarmonics;
13549
13617
  static AmbientShScale(diffuse: number, reflection: number): number;
13550
13618
  static EnvironmentLevel(pe: number, reflection: number): number;
@@ -13606,6 +13674,7 @@ export declare class HdrpPhysicallyBasedSky {
13606
13674
  private filtering;
13607
13675
  private pendingFilter;
13608
13676
  private capturing;
13677
+ private probeDrawsSky;
13609
13678
  private shReading;
13610
13679
  private readbackHarmonics;
13611
13680
  private exportedHarmonics;
@@ -13618,6 +13687,8 @@ export declare class HdrpPhysicallyBasedSky {
13618
13687
  private apRequested;
13619
13688
  private apCamera;
13620
13689
  private readonly startTime;
13690
+ private readonly sunIntensityScale;
13691
+ private readonly spaceCube;
13621
13692
  private constructor();
13622
13693
  get mode(): string;
13623
13694
  get useBakedSky(): boolean;
@@ -13629,10 +13700,14 @@ export declare class HdrpPhysicallyBasedSky {
13629
13700
  private writeUniforms;
13630
13701
  private writeCloudUniforms;
13631
13702
  private cloudAmbient;
13703
+ ambientAt(direction: Vector3): Color3;
13632
13704
  private cloudLayers;
13705
+ private loadSpaceEmission;
13706
+ private spaceEmissionUniform;
13633
13707
  private loadCloudMap;
13634
13708
  private bindEffect;
13635
13709
  setProbeCapture(capturing: boolean): void;
13710
+ private encodesForDisplay;
13636
13711
  private applyMaterialUniforms;
13637
13712
  private attenuateSuns;
13638
13713
  private static RestoreLight;
@@ -15866,6 +15941,84 @@ export declare class LightProbeNetwork extends ScriptComponent {
15866
15941
  private sceneLabel;
15867
15942
  private onDataLoaded;
15868
15943
  }
15944
+ export interface IMeshWaterFollower {
15945
+ node: string;
15946
+ offset: number[];
15947
+ scale: number[] | null;
15948
+ }
15949
+ export interface IMeshWaterUnderwater {
15950
+ sealevel: number;
15951
+ fogcolors: number[][];
15952
+ fogcolormultiplier: number[];
15953
+ fogdepth: number;
15954
+ fogdensity: number;
15955
+ fogstart: number;
15956
+ fogend: number;
15957
+ suncolor: number[];
15958
+ volumenodes: string[];
15959
+ shownodes: string[];
15960
+ flipnodes: string[];
15961
+ follownodes: IMeshWaterFollower[];
15962
+ }
15963
+ export interface IMeshWaterSurfaceProperties {
15964
+ sealevel: number;
15965
+ waveamplitude: number;
15966
+ wavespeed: number;
15967
+ underwater: IMeshWaterUnderwater | null;
15968
+ }
15969
+ export interface IResolvedFollower {
15970
+ node: TransformNode;
15971
+ offset: Vector3;
15972
+ }
15973
+ export interface IFlippedNode {
15974
+ node: TransformNode;
15975
+ surfaceRotation: Quaternion;
15976
+ underwaterRotation: Quaternion;
15977
+ }
15978
+ export declare class MeshWaterSurface extends ScriptComponent {
15979
+ private static readonly POST_PROCESSOR_CLASS;
15980
+ private static readonly PARTICLES_CLASS;
15981
+ private static readonly STOP_AND_CLEAR;
15982
+ private static readonly LINEAR_FOG_END_SCALE;
15983
+ private static Registry;
15984
+ private waterProperties;
15985
+ private isUnderwater;
15986
+ private readonly fogColorChannels;
15987
+ private readonly surfaceFogColor;
15988
+ private surfaceFogDensity;
15989
+ private surfaceFogStart;
15990
+ private surfaceFogEnd;
15991
+ private shownNodes;
15992
+ private shownParticles;
15993
+ private volumeNodes;
15994
+ private flippedNodes;
15995
+ private followers;
15996
+ private readonly followPosition;
15997
+ constructor(transform: TransformNode, scene: Scene, properties?: any, alias?: string);
15998
+ static Get(scene: Scene): MeshWaterSurface;
15999
+ protected awake(): void;
16000
+ protected ready(): void;
16001
+ protected start(): void;
16002
+ protected update(): void;
16003
+ protected destroy(): void;
16004
+ getSeaLevel(): number;
16005
+ getSurfaceHeight(): number;
16006
+ getCameraHeight(camera: Camera): number;
16007
+ isCameraUnderwater(camera: Camera): boolean;
16008
+ ProjectPointOnWaterSurface(searchParameters: IHdrpWaterSearchParameters): IHdrpWaterSearchResult;
16009
+ FindWaterSurfaceHeight(searchParameters: IHdrpWaterSearchParameters): IHdrpWaterSearchResult;
16010
+ private findNodes;
16011
+ private findParticles;
16012
+ private prepareFlip;
16013
+ private prepareFollowers;
16014
+ private enterUnderwater;
16015
+ private leaveUnderwater;
16016
+ private writeUnderwaterFog;
16017
+ private restoreSurfaceFog;
16018
+ private setVolumesEnabled;
16019
+ private updateFog;
16020
+ private updateFollowers;
16021
+ }
15869
16022
  export declare class NavigationAgent extends ScriptComponent {
15870
16023
  static TARGET_ANGLE_FACTOR: number;
15871
16024
  static ANGULAR_SPEED_RATIO: number;
@@ -20728,6 +20881,7 @@ export declare class PostProcessor extends ScriptComponent {
20728
20881
  SetVolumeWeight(weight: number): void;
20729
20882
  SetVolumePriority(priority: number): void;
20730
20883
  private isCinemachineVolume;
20884
+ private isSwitchedVolume;
20731
20885
  IsVolumeEnabled(): boolean;
20732
20886
  HasLocalVolumeObserver(): boolean;
20733
20887
  GetVolumeWeights(camera?: Camera): {
@@ -21291,6 +21445,7 @@ export interface IPostProcessCameraSelection {
21291
21445
  export declare class PostProcessingContract {
21292
21446
  static readonly VOLUME_TYPES: string[];
21293
21447
  static readonly CINEMACHINE_VOLUME_ROLE: string;
21448
+ static readonly SWITCHED_VOLUME_ROLE: string;
21294
21449
  static readonly GRADING_MODES: string[];
21295
21450
  static readonly RENDERING_PATH_DEFERRED: string;
21296
21451
  static readonly RENDERING_PATH_FORWARD: string;
@@ -24141,6 +24296,8 @@ export declare class RigidbodyPhysics extends ScriptComponent {
24141
24296
  protected static CreateCompoundRootMeshShape(scene: Scene, entity: TransformNode, collision: any, layer: number, filter: number): PhysicsShape;
24142
24297
  static CreateCompoundChildItem(scene: Scene, root: TransformNode, childnode: TransformNode, collision: any, childmasks: IPhysicsCollisionMasks): PhyscisContainerData;
24143
24298
  static CreateComplexCompoundBody(scene: Scene, entity: TransformNode, childItems: PhyscisContainerData[], rootMeshShape: PhysicsShape, motionType: PhysicsMotionType, physics: any, mass: number, centerOfMass: Vector3, layermask: number, filtermask: number): PhysicsBody;
24299
+ private static MarkCompoundChildForDisposal;
24300
+ private static RendersItself;
24144
24301
  protected static CreateCompoundPhysicsShapeAndBody(scene: Scene, root: TransformNode, entity: TransformNode, element: any, impostortype: number, staticfriction: number, dynamicfriction: number, restitution: number, fcombine: number, rcombine: number, sitems: PhyscisContainerData[], item: PhyscisContainerData, center: any, complex: boolean, trigger: boolean, persist: boolean, layer: number, filter: number): void;
24145
24302
  protected static CreateHeightFieldTerrainShapeFromMesh(terrainMesh: Mesh, scaleX: number, scaleZ: number): any;
24146
24303
  static GetPhysicsHeapSize(): number;
@@ -25852,6 +26009,8 @@ export interface ITerrainLoadProgress {
25852
26009
  }
25853
26010
  export declare class TerrainBuilder extends ScriptComponent {
25854
26011
  private static _registry;
26012
+ private static readonly ScratchInverse;
26013
+ private static readonly ScratchLocal;
25855
26014
  readonly onBuiltObservable: Observable<TerrainBuilder>;
25856
26015
  readonly onLoadProgressObservable: Observable<ITerrainLoadProgress>;
25857
26016
  readonly onLoadedObservable: Observable<TerrainBuilder>;
@@ -25947,6 +26106,10 @@ export declare class TerrainBuilder extends ScriptComponent {
25947
26106
  protected destroy(): void;
25948
26107
  private disposeParts;
25949
26108
  private buildAsync;
26109
+ private resolveEdgeNeighbors;
26110
+ private edgeNeighborFor;
26111
+ private canShareEdgeWith;
26112
+ private isAdjacentTile;
25950
26113
  private applyTreesAndFoliageVisibility;
25951
26114
  private getShadowCasters;
25952
26115
  addShadowCaster(mesh: AbstractMesh, force?: boolean): void;
@@ -25986,6 +26149,7 @@ export declare class TerrainBuilder extends ScriptComponent {
25986
26149
  private prewarmOnce;
25987
26150
  private static NowMs;
25988
26151
  private worldToUnityUV;
26152
+ private containsWorldPosition;
25989
26153
  SampleHeight(worldPosition: Vector3): number;
25990
26154
  GetInterpolatedHeight(u: number, v: number): number;
25991
26155
  GetInterpolatedNormal(u: number, v: number): Vector3;
@@ -26104,6 +26268,16 @@ export interface ITerrainDetailLayer {
26104
26268
  wavelength: number;
26105
26269
  } | null;
26106
26270
  }
26271
+ export interface ITerrainEdgeNeighbor {
26272
+ heights: Uint16Array;
26273
+ heightScale: number;
26274
+ }
26275
+ export interface ITerrainEdgeNeighbors {
26276
+ left: ITerrainEdgeNeighbor | null;
26277
+ right: ITerrainEdgeNeighbor | null;
26278
+ top: ITerrainEdgeNeighbor | null;
26279
+ bottom: ITerrainEdgeNeighbor | null;
26280
+ }
26107
26281
  export interface ITerrainContract {
26108
26282
  contract: number;
26109
26283
  name: string;
@@ -26320,7 +26494,6 @@ export declare class TerrainDetails {
26320
26494
  cast: boolean;
26321
26495
  }[];
26322
26496
  private ensureMain;
26323
- private static ResizePreviousMatrices;
26324
26497
  private static TintBuffer;
26325
26498
  private chunkDistance;
26326
26499
  private buildChunk;
@@ -26403,6 +26576,7 @@ export declare class TerrainFoliagePlugin extends MaterialPluginBase {
26403
26576
  constructor(material: Material);
26404
26577
  get isGraph(): boolean;
26405
26578
  static IsGraphMaterial(material: Material): boolean;
26579
+ static GraphOwnsMotion(material: Material): boolean;
26406
26580
  getClassName(): string;
26407
26581
  isCompatible(shaderLanguage: ShaderLanguage): boolean;
26408
26582
  static Attach(material: Material, modes: number): TerrainFoliagePlugin;
@@ -26540,12 +26714,14 @@ export declare class TerrainHeightfield {
26540
26714
  private _errors;
26541
26715
  private _minH;
26542
26716
  private _maxH;
26717
+ private edgeNeighbors;
26543
26718
  constructor(contract: ITerrainContract, heights: Uint16Array);
26544
26719
  get cellSizeX(): number;
26545
26720
  get cellSizeZ(): number;
26546
26721
  heightAt(u: number, v: number): number;
26547
26722
  sampleHeight(x: number, z: number): number;
26548
26723
  normalAt(u: number, v: number, out: number[]): void;
26724
+ setEdgeNeighbors(neighbors: ITerrainEdgeNeighbors): void;
26549
26725
  setHoles(pixels: Uint8ClampedArray, width: number): void;
26550
26726
  private cellX;
26551
26727
  private cellZ;
@@ -26569,7 +26745,7 @@ export declare class TerrainHeightfield {
26569
26745
  export declare class TerrainMath {
26570
26746
  static DecodeHeight(value: number, sizeY: number): number;
26571
26747
  static SampleHeightBilinear(h: Uint16Array, R: number, sizeY: number, u: number, v: number): number;
26572
- static SampleNormal(h: Uint16Array, R: number, size: number[], u: number, v: number, out: number[]): void;
26748
+ static SampleNormal(h: Uint16Array, R: number, size: number[], u: number, v: number, out: number[], neighbors?: ITerrainEdgeNeighbors): void;
26573
26749
  static UnityToLocalX(x: number, handedness: number): number;
26574
26750
  static UnityYawToLocal(yaw: number, handedness: number): number;
26575
26751
  static ControlSlot(layer: number): number[];
@@ -26721,6 +26897,8 @@ export interface ITerrainTreeCasterSlot {
26721
26897
  box: Float32Array;
26722
26898
  boxMin: Vector3;
26723
26899
  boxMax: Vector3;
26900
+ capacityCeiling: number;
26901
+ grown: boolean;
26724
26902
  }
26725
26903
  export interface ITerrainTreeHost {
26726
26904
  mesh: Mesh;
@@ -26736,6 +26914,8 @@ export interface ITerrainTreeHost {
26736
26914
  probeBuffer: Buffer;
26737
26915
  probeLit: boolean;
26738
26916
  slots: ITerrainTreeCasterSlot[];
26917
+ capacityCeiling: number;
26918
+ grown: boolean;
26739
26919
  }
26740
26920
  export interface ITerrainProbeSource {
26741
26921
  isActive(): boolean;
@@ -26756,6 +26936,9 @@ export declare class TerrainTrees {
26756
26936
  private static readonly SLOT_MARGIN;
26757
26937
  private static readonly NO_PROBE_RECORD;
26758
26938
  private static readonly LIGHT_TURN_DOT;
26939
+ private static readonly HOST_DRAW_STATE;
26940
+ private static PreparedHosts;
26941
+ private static ProbeBuffers;
26759
26942
  private static _materials;
26760
26943
  private _owner;
26761
26944
  private _hf;
@@ -26768,6 +26951,7 @@ export declare class TerrainTrees {
26768
26951
  private _colliderShapes;
26769
26952
  private _distance;
26770
26953
  private _built;
26954
+ private _warnedUniqueHost;
26771
26955
  private _n;
26772
26956
  private _proto;
26773
26957
  private _local;
@@ -26826,11 +27010,15 @@ export declare class TerrainTrees {
26826
27010
  drawn: number;
26827
27011
  visibleHosts: number;
26828
27012
  colliders: boolean;
27013
+ capacity: number;
26829
27014
  };
27015
+ static PreparedHostCount(scene: Scene): number;
26830
27016
  build(): void;
26831
27017
  private buildPrototype;
26832
27018
  static RendererUsesProbes(flags: any, index: number): boolean;
26833
27019
  static AttachProbeBuffer(host: Mesh, probes: Float32Array): Buffer;
27020
+ private static CreateProbeBuffer;
27021
+ private static ResizeProbeBuffer;
26834
27022
  private sampleProbes;
26835
27023
  pollProbes(): void;
26836
27024
  static NetworkLightsProbes(network: ITerrainProbeSource): boolean;
@@ -26843,6 +27031,9 @@ export declare class TerrainTrees {
26843
27031
  static InterleaveVertexData(mesh: Mesh): number;
26844
27032
  static HasGeometry(m: AbstractMesh): boolean;
26845
27033
  static CreateSharedHost(scene: Scene, source: Mesh, name: string): Mesh;
27034
+ private static BakeHostGeometry;
27035
+ private prepareHostGeometry;
27036
+ private createUniqueHost;
26846
27037
  private createHost;
26847
27038
  private createCasterSlots;
26848
27039
  static HasSpeedTreeWindVertexData(mesh: AbstractMesh): boolean;
@@ -26878,9 +27069,12 @@ export declare class TerrainTrees {
26878
27069
  private static TieRank;
26879
27070
  private static KthSmallest;
26880
27071
  private appendInstance;
27072
+ private static GrowTarget;
26881
27073
  private static LodCasts;
26882
27074
  private writeInstance;
26883
27075
  private writeCaster;
27076
+ private static RebindGrownTarget;
27077
+ static ResizePreviousMatrices(mesh: Mesh, matrices: Float32Array): void;
26884
27078
  private uploadTarget;
26885
27079
  private static Now;
26886
27080
  private buildColliders;
@@ -30720,6 +30914,225 @@ export declare class VisualEffectSpawner {
30720
30914
  private compileBlock;
30721
30915
  private static crosses;
30722
30916
  }
30917
+ export interface ICloudCurves {
30918
+ density?: number[];
30919
+ erosion?: number[];
30920
+ ambientocclusion?: number[];
30921
+ }
30922
+ export interface ICloudNoiseFile {
30923
+ url: string;
30924
+ size: number;
30925
+ }
30926
+ export interface IUrpCloudsBlock {
30927
+ state?: boolean;
30928
+ localclouds?: boolean;
30929
+ resolutionscale?: number;
30930
+ densitymultiplier?: number;
30931
+ shapefactor?: number;
30932
+ shapescale?: number;
30933
+ shapeoffset?: number[];
30934
+ coveragevariation?: number;
30935
+ coveragepatternsize?: number;
30936
+ coveragegapamount?: number;
30937
+ coveragepatternoffset?: number[];
30938
+ erosionfactor?: number;
30939
+ erosionscale?: number;
30940
+ microerosion?: boolean;
30941
+ microerosionfactor?: number;
30942
+ microerosionscale?: number;
30943
+ bottomaltitude?: number;
30944
+ altituderange?: number;
30945
+ earthcurvature?: number;
30946
+ globalspeed?: number;
30947
+ globalorientation?: number;
30948
+ shapespeedmultiplier?: number;
30949
+ erosionspeedmultiplier?: number;
30950
+ altitudedistortion?: number;
30951
+ verticalshapewindspeed?: number;
30952
+ verticalerosionwindspeed?: number;
30953
+ cloudmapspeedmultiplier?: number;
30954
+ ambientlightprobedimmer?: number;
30955
+ sunlightdimmer?: number;
30956
+ erosionocclusion?: number;
30957
+ scatteringtint?: number[];
30958
+ powdereffectintensity?: number;
30959
+ multiscattering?: number;
30960
+ temporalaccumulationfactor?: number;
30961
+ perceptualblending?: number;
30962
+ numprimarysteps?: number;
30963
+ longraysamplemultiplier?: number;
30964
+ numlightsteps?: number;
30965
+ fadeinmode?: number;
30966
+ fadeinstart?: number;
30967
+ fadeindistance?: number;
30968
+ curves?: ICloudCurves;
30969
+ noise?: {
30970
+ worley?: ICloudNoiseFile;
30971
+ erosion?: ICloudNoiseFile;
30972
+ };
30973
+ }
30974
+ export interface ICloudSkyFields {
30975
+ planet?: {
30976
+ radius?: number;
30977
+ renderingspace?: number;
30978
+ center?: number[];
30979
+ };
30980
+ sunintensityscale?: number;
30981
+ }
30982
+ export type SceneWithClouds = Scene & {
30983
+ _tkVolumetricClouds?: VolumetricClouds;
30984
+ };
30985
+ export interface ICloudTierSettings {
30986
+ resolutionScale: number;
30987
+ primarySteps: number;
30988
+ longRayMultiplier: number;
30989
+ lightSteps: number;
30990
+ }
30991
+ export declare class VolumetricCloudsMath {
30992
+ static readonly LowestTier: number;
30993
+ static ShellInterval(rayOrigin: number[], rayDirection: number[], innerRadius: number, outerRadius: number, planetRadius?: number): number[];
30994
+ static StepSize(shellLength: number, steps: number, maximumStep: number): number;
30995
+ static MaximumStep(altitudeRange: number, authoredSteps: number, tierSteps: number): number;
30996
+ static TierSettings(tier: number, authored: IUrpCloudsBlock): ICloudTierSettings;
30997
+ static StartTier(maximumTextureSize: number, viewportCssWidth: number): number;
30998
+ static IsCameraCut(previousPosition: number[], currentPosition: number[]): boolean;
30999
+ static PackCurves(density: number[], erosion: number[], ambientOcclusion: number[]): Float32Array;
31000
+ private static IntersectSphere;
31001
+ }
31002
+ export declare class VolumetricCloudsTier {
31003
+ tier: number;
31004
+ isSettled: boolean;
31005
+ private windowMilliseconds;
31006
+ private windowFrames;
31007
+ private meanBeforeStep;
31008
+ private previousMean;
31009
+ constructor(startTier: number);
31010
+ addFrame(frameMilliseconds: number): boolean;
31011
+ }
31012
+ export declare class VolumetricClouds {
31013
+ static readonly MeshName: string;
31014
+ static TryCreate(scene: Scene, metadata: unknown, root: string): VolumetricClouds;
31015
+ static Get(scene: Scene): VolumetricClouds;
31016
+ readonly scene: Scene;
31017
+ readonly block: IUrpCloudsBlock;
31018
+ disposed: boolean;
31019
+ tier: number;
31020
+ private readonly sky;
31021
+ private readonly root;
31022
+ private readonly isLocal;
31023
+ private hasAerial;
31024
+ private placeholderAerial;
31025
+ private readonly planetRadius;
31026
+ private readonly planetCenter;
31027
+ private readonly scatteringTint;
31028
+ private settings;
31029
+ private worleyTexture;
31030
+ private erosionTexture;
31031
+ private curveTexture;
31032
+ private placeholderDepth;
31033
+ private marchTarget;
31034
+ private renderer;
31035
+ private marchPass;
31036
+ private temporalPass;
31037
+ private readonly historyTargets;
31038
+ private historyIndex;
31039
+ private hasHistory;
31040
+ private compositeMesh;
31041
+ private compositeMaterial;
31042
+ private isReady;
31043
+ private isPending;
31044
+ private preExposure;
31045
+ private preExposureBinding;
31046
+ private frameSeed;
31047
+ private readonly windOffset;
31048
+ private verticalShapeOffset;
31049
+ private verticalErosionOffset;
31050
+ private sceneDepth;
31051
+ private beforeRenderObserver;
31052
+ private afterRenderObserver;
31053
+ private tierTracker;
31054
+ private targetWidth;
31055
+ private targetHeight;
31056
+ private lastCamera;
31057
+ private sunLight;
31058
+ private ambientSource;
31059
+ private ambientCaptureCount;
31060
+ private readonly previousEye;
31061
+ private readonly currentEye;
31062
+ private hasPreviousEye;
31063
+ private beforeTargetsObserver;
31064
+ private afterTargetsObserver;
31065
+ private disposeObserver;
31066
+ private readonly mirror;
31067
+ private readonly inverseViewProjection;
31068
+ private readonly previousViewProjection;
31069
+ private readonly previousViewProjectionUnity;
31070
+ private readonly sunDirection;
31071
+ private readonly cameraForward;
31072
+ private readonly localForward;
31073
+ private readonly ambientTop;
31074
+ private readonly ambientBottom;
31075
+ private constructor();
31076
+ dispose(): void;
31077
+ private createPasses;
31078
+ private createCloudTarget;
31079
+ private createCurveTexture;
31080
+ private createCompositeMesh;
31081
+ private loadNoise;
31082
+ private createNoiseTexture;
31083
+ private waitUntilReady;
31084
+ private releasePending;
31085
+ private render;
31086
+ private isDisplayEncoded;
31087
+ private trackCamera;
31088
+ private updateTier;
31089
+ private reportLoweredSettings;
31090
+ private advanceWind;
31091
+ private resizeTargets;
31092
+ private updateTargetSize;
31093
+ private bindMarch;
31094
+ private bindLighting;
31095
+ private bindAerial;
31096
+ private resolveSun;
31097
+ private refreshAmbient;
31098
+ private bindTemporal;
31099
+ private static LinearScatteringTint;
31100
+ private static CanvasCssWidth;
31101
+ }
31102
+ export declare class VolumetricCloudsShaders {
31103
+ static readonly MarchName: string;
31104
+ static readonly CompositeName: string;
31105
+ static readonly TemporalName: string;
31106
+ static readonly TemporalUniforms: string[];
31107
+ static readonly TemporalSamplers: string[];
31108
+ static readonly MarchUniforms: string[];
31109
+ static readonly MarchSamplers: string[];
31110
+ static readonly AerialSampler: string;
31111
+ static readonly AerialCameraUniform: string;
31112
+ private static registered;
31113
+ static Register(): void;
31114
+ static AllSources(): string[];
31115
+ private static GlslMarchUniforms;
31116
+ private static GlslConstants;
31117
+ private static GlslGeometry;
31118
+ private static GlslDensity;
31119
+ private static GlslLighting;
31120
+ private static GlslAerial;
31121
+ private static GlslMarch;
31122
+ private static GlslCompositeVertex;
31123
+ private static GlslCompositeFragment;
31124
+ private static GlslTemporal;
31125
+ private static WgslMarchUniforms;
31126
+ private static WgslConstants;
31127
+ private static WgslGeometry;
31128
+ private static WgslDensity;
31129
+ private static WgslLighting;
31130
+ private static WgslAerial;
31131
+ private static WgslMarch;
31132
+ private static WgslCompositeVertex;
31133
+ private static WgslCompositeFragment;
31134
+ private static WgslTemporal;
31135
+ }
30723
31136
  export declare class WebVideoPlayer extends ScriptComponent implements IAssetPreloader {
30724
31137
  private videoLoop;
30725
31138
  private videoMuted;