@babylonjs-toolkit/next 9.34.1 → 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.
@@ -178,6 +178,7 @@ export declare class SceneManager {
178
178
  static readonly DefaultLayerMask: number;
179
179
  static readonly HiddenLayerMask: number;
180
180
  private static _HideLoadingScreen;
181
+ private static _FadeLoadingScreen;
181
182
  static CVTOOLS_NAME: string;
182
183
  static CVTOOLS_MESH: string;
183
184
  static CVTOOLS_HAND: string;
@@ -2182,7 +2183,7 @@ export declare class HdrpRendering {
2182
2183
  };
2183
2184
  static RegisterShaders(): void;
2184
2185
  static CreateSanitizePass(scene: Scene, camera: Camera, textureType: number): PostProcess;
2185
- private static SceneMetadata;
2186
+ static SceneMetadata(scene: Scene): any;
2186
2187
  private static State;
2187
2188
  private static ApplyBinding;
2188
2189
  }
@@ -2217,6 +2218,7 @@ export declare class LightingConversions {
2217
2218
  static SubtractiveShadowColor(exported: any, assumeGamma: boolean): Color3;
2218
2219
  static MainLightColor(light: any): Color3;
2219
2220
  static UnityLinearLightColor(light: any): Color3;
2221
+ static LinearizeLightColor(light: Light, scene: Scene): boolean;
2220
2222
  private static Warned;
2221
2223
  static SetShadowFade(scene: Scene, fade: any): void;
2222
2224
  static GetShadowFade(scene: Scene): Vector4;
@@ -2264,6 +2266,7 @@ export declare class LightingConversions {
2264
2266
  static readonly RelativeUnits: string;
2265
2267
  static EnvironmentUnits(value: any): string;
2266
2268
  static SpecularEnvironmentLevel(reflection: number, units: string, levelMax: number): number;
2269
+ static EnvironmentAmbientScale(ambientIntensity: number, environmentLevel: number, units: string, isParity: boolean): number;
2267
2270
  static WarnBakedSkyWithoutEnvironment(skybox: any): boolean;
2268
2271
  static IntensityModeFor(lightType: number): number;
2269
2272
  static IsIntensityModeValid(lightType: number, mode: number): boolean;
@@ -2391,6 +2394,39 @@ export declare class LoadingProgress {
2391
2394
  private static HookSceneDispose;
2392
2395
  private static ForgetScene;
2393
2396
  }
2397
+ export interface ILoadingScreenStageView {
2398
+ screen: HTMLElement;
2399
+ stage: HTMLElement;
2400
+ status: HTMLElement;
2401
+ details: HTMLElement;
2402
+ fill: HTMLElement;
2403
+ slide: ReturnType<HTMLElement["animate"]>;
2404
+ }
2405
+ export declare class LoadingScreenStages {
2406
+ static START_TEXT: string;
2407
+ static BAR_COLOR: string;
2408
+ static SLIDE_DURATION_MS: number;
2409
+ private static Views;
2410
+ private static Observer;
2411
+ private static PreviousHostDefers;
2412
+ private static BarState;
2413
+ private static BarProgress;
2414
+ static Attach(loadingScreen: any, marginTop: string): void;
2415
+ static FindPageCover(): HTMLElement;
2416
+ static AttachScreen(screen: HTMLElement, marginTop: string): void;
2417
+ private static Begin;
2418
+ static IsShowing(): boolean;
2419
+ static SceneToReveal(engine: AbstractEngine): Scene;
2420
+ static FadeScreen(screen: HTMLElement): void;
2421
+ static GetBarState(): number;
2422
+ static ShowStatus(status: string, details: string, progress: number, state: number): void;
2423
+ static Detach(removeStages?: boolean): void;
2424
+ private static CreateView;
2425
+ private static StartSlide;
2426
+ private static OnLoaderStatus;
2427
+ private static NextBarProgress;
2428
+ private static ToSentenceCase;
2429
+ }
2394
2430
  export declare class MaterialSamplerBudget {
2395
2431
  static BudgetOverride: number;
2396
2432
  private static readonly ShadowSamplerDeclaration;
@@ -2486,10 +2522,28 @@ export declare class OpaqueSceneColor {
2486
2522
  private static CreateTarget;
2487
2523
  static ShadowMapsRendered(scene: Scene, camera: Camera): boolean;
2488
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;
2489
2531
  static QueueSamples(subMeshes: any, materials: any): boolean;
2490
2532
  static InstallCopy(scene: Scene, store: any): void;
2491
2533
  private static CopyNow;
2492
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
+ }
2493
2547
  export declare class FixedStepClock {
2494
2548
  static readonly DEFAULT_FIXED_DELTA_TIME: number;
2495
2549
  static readonly DEFAULT_MAXIMUM_DELTA_TIME: number;
@@ -2795,6 +2849,7 @@ export declare class SceneShaderWarmup {
2795
2849
  static DrawHiddenMeshesOnReveal: boolean;
2796
2850
  static WarmEmptyThinInstancesOnReveal: boolean;
2797
2851
  static WarmScaleVariantsOnReveal: boolean;
2852
+ static WarmNativeLodLevelsOnReveal: boolean;
2798
2853
  static OPTIONAL_UNIT_GRACE_MS: number;
2799
2854
  private static GIVEN_UP_NAMES_SHOWN;
2800
2855
  static LateCompileReporting: boolean;
@@ -2948,8 +3003,9 @@ export declare class SceneShaderWarmup {
2948
3003
  private static RestoreHiddenMeshes;
2949
3004
  private static KeepHiddenCastersInShadowMaps;
2950
3005
  private static RestoreShadowCasterLists;
2951
- private static DrawPunctualShadowMapsFully;
2952
- private static RestorePunctualShadowMaps;
3006
+ private static DrawShadowMapsFully;
3007
+ static HasCasterCullingList(shadowMap: RenderTargetTexture): boolean;
3008
+ private static RestoreFullShadowMaps;
2953
3009
  private static readonly MATERIAL_VARIANT_FRAMES;
2954
3010
  private static readonly MaterialVariants;
2955
3011
  static WarmMaterialVariant(mesh: AbstractMesh, material: Material): void;
@@ -2974,6 +3030,9 @@ export declare class SceneShaderWarmup {
2974
3030
  private static ForgetReadyThisFrame;
2975
3031
  private static AlternateScaleVariants;
2976
3032
  private static RestoreScaleVariants;
3033
+ static NativeLodSequence(mesh: AbstractMesh): AbstractMesh[];
3034
+ static CycleNativeLodLevels(scene: Scene): INativeLodCycle;
3035
+ static RestoreNativeLodLevels(scene: Scene, cycle: INativeLodCycle): void;
2977
3036
  private static SetScaleVariantForced;
2978
3037
  private static ShowHiddenEmittersForDraws;
2979
3038
  private static RestoreHiddenEmitters;
@@ -3244,6 +3303,14 @@ export interface IScaleVariantDraw {
3244
3303
  drawingOther: boolean;
3245
3304
  frameObserver: Observer<Scene>;
3246
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
+ }
3247
3314
  export interface IHiddenEmitterDraw {
3248
3315
  node: BabylonNode;
3249
3316
  ownIsEnabled: (checkAncestors?: boolean) => boolean;
@@ -3280,12 +3347,16 @@ export interface ISubMeshDrawWrappers {
3280
3347
  _drawWrappers?: DrawWrapper[];
3281
3348
  }
3282
3349
  export type CustomRenderListFunction = (layerOrFace: number, renderList: readonly AbstractMesh[], renderListLength: number) => AbstractMesh[];
3350
+ export interface ICasterCullingListMarks {
3351
+ tkCasterCulling?: boolean;
3352
+ tkTerrainCulling?: boolean;
3353
+ }
3283
3354
  export interface IShadowCasterListWrap {
3284
3355
  shadowMap: RenderTargetTexture;
3285
3356
  customList: CustomRenderListFunction;
3286
3357
  keptList: CustomRenderListFunction;
3287
3358
  }
3288
- export interface IPunctualShadowMapDraw {
3359
+ export interface IShadowMapFullDraw {
3289
3360
  shadowMap: RenderTargetTexture;
3290
3361
  customList: CustomRenderListFunction;
3291
3362
  }
@@ -3665,7 +3736,14 @@ export interface IShaderClock {
3665
3736
  smoothDeltaTime: number;
3666
3737
  frame: number;
3667
3738
  }
3739
+ export interface IShaderGlobalDriver {
3740
+ name: string;
3741
+ component: number;
3742
+ rate: number;
3743
+ wrap: number;
3744
+ }
3668
3745
  export declare class ShaderGlobals {
3746
+ private static readonly DriverComponentNames;
3669
3747
  private static _version;
3670
3748
  private static _floats;
3671
3749
  private static _vectors;
@@ -3689,6 +3767,8 @@ export declare class ShaderGlobals {
3689
3767
  static DisableKeyword(name: string): void;
3690
3768
  static IsKeywordEnabled(name: string): boolean;
3691
3769
  static LoadSceneGlobals(scene: Scene, block: any): void;
3770
+ static LoadSceneDrivers(scene: Scene, drivers: IShaderGlobalDriver[]): void;
3771
+ private static AdvanceDriver;
3692
3772
  static GetClock(scene: Scene): IShaderClock;
3693
3773
  }
3694
3774
  export interface IShaderGraphPassData {
@@ -3861,6 +3941,8 @@ export declare class ShaderGraphRuntime {
3861
3941
  static SetThinInstanceValue(mesh: Mesh, index: number, key: string, value: any, sub?: number): boolean;
3862
3942
  static ApplyInstanceBlock(instance: InstancedMesh, block: any, sub?: number): boolean;
3863
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;
3864
3946
  static FlushSceneSummary(scene: Scene): void;
3865
3947
  }
3866
3948
  export interface ShaderGraphSceneRecord {
@@ -3879,6 +3961,13 @@ export interface ShaderGraphSceneRecord {
3879
3961
  scheduled?: boolean;
3880
3962
  timer?: any;
3881
3963
  deadline?: number;
3964
+ exportReport?: IExportReportEntry[];
3965
+ }
3966
+ export interface IExportReportEntry {
3967
+ feature: string;
3968
+ reason: string;
3969
+ items: string[];
3970
+ count: number;
3882
3971
  }
3883
3972
  export declare class SgShadowDepth {
3884
3973
  static Enabled: boolean;
@@ -4519,6 +4608,9 @@ export declare class UnityLodGroups {
4519
4608
  static readonly FADE_CROSSFADE: number;
4520
4609
  static readonly FADE_SPEEDTREE: number;
4521
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;
4522
4614
  static ExportedSize(root: TransformNode, metadata: any): {
4523
4615
  worldSize: number;
4524
4616
  localPoint: Vector3;
@@ -4527,6 +4619,9 @@ export declare class UnityLodGroups {
4527
4619
  useDistances: boolean;
4528
4620
  thresholds: number[];
4529
4621
  };
4622
+ static LevelsShareTransform(master: AbstractMesh, details: AbstractMesh[]): boolean;
4623
+ private static MatricesShareTransform;
4624
+ static RequiresSwitcher(meshLevels: AbstractMesh[][], fadeMode: number): boolean;
4530
4625
  static ParseFadeMode(mode: string): number;
4531
4626
  lodBias: number;
4532
4627
  private _scene;
@@ -13313,6 +13408,7 @@ export declare class HdrpFogPass {
13313
13408
  private static registered;
13314
13409
  static FogBlock(scene: Scene): any;
13315
13410
  static SkyOf(scene: Scene): any;
13411
+ private static BindChain;
13316
13412
  static Frame(scene: Scene, fog: any): IHdrpFogFrame;
13317
13413
  static SkyDepth(scene: Scene): number;
13318
13414
  static RegisterShaders(): void;
@@ -13327,6 +13423,8 @@ export declare class HdrpFogPass {
13327
13423
  static AmbientDeclarations(wgsl: boolean): string;
13328
13424
  static AmbientGlsl(): string;
13329
13425
  static AmbientWgsl(): string;
13426
+ static AerialPerspectiveGlsl(): string;
13427
+ static AerialPerspectiveWgsl(): string;
13330
13428
  static GlslHelpers(prefix: string): string;
13331
13429
  static WgslHelpers(prefix: string): string;
13332
13430
  private static Glsl;
@@ -13511,6 +13609,10 @@ export declare class HdrpPhysicallyBasedSky {
13511
13609
  requested: boolean;
13512
13610
  captured: boolean;
13513
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;
13514
13616
  static SelectAmbientSh(skyAmbientMode: number, readback: SphericalHarmonics, exported: SphericalHarmonics): SphericalHarmonics;
13515
13617
  static AmbientShScale(diffuse: number, reflection: number): number;
13516
13618
  static EnvironmentLevel(pe: number, reflection: number): number;
@@ -13572,6 +13674,7 @@ export declare class HdrpPhysicallyBasedSky {
13572
13674
  private filtering;
13573
13675
  private pendingFilter;
13574
13676
  private capturing;
13677
+ private probeDrawsSky;
13575
13678
  private shReading;
13576
13679
  private readbackHarmonics;
13577
13680
  private exportedHarmonics;
@@ -13584,6 +13687,8 @@ export declare class HdrpPhysicallyBasedSky {
13584
13687
  private apRequested;
13585
13688
  private apCamera;
13586
13689
  private readonly startTime;
13690
+ private readonly sunIntensityScale;
13691
+ private readonly spaceCube;
13587
13692
  private constructor();
13588
13693
  get mode(): string;
13589
13694
  get useBakedSky(): boolean;
@@ -13595,10 +13700,14 @@ export declare class HdrpPhysicallyBasedSky {
13595
13700
  private writeUniforms;
13596
13701
  private writeCloudUniforms;
13597
13702
  private cloudAmbient;
13703
+ ambientAt(direction: Vector3): Color3;
13598
13704
  private cloudLayers;
13705
+ private loadSpaceEmission;
13706
+ private spaceEmissionUniform;
13599
13707
  private loadCloudMap;
13600
13708
  private bindEffect;
13601
13709
  setProbeCapture(capturing: boolean): void;
13710
+ private encodesForDisplay;
13602
13711
  private applyMaterialUniforms;
13603
13712
  private attenuateSuns;
13604
13713
  private static RestoreLight;
@@ -15832,6 +15941,84 @@ export declare class LightProbeNetwork extends ScriptComponent {
15832
15941
  private sceneLabel;
15833
15942
  private onDataLoaded;
15834
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
+ }
15835
16022
  export declare class NavigationAgent extends ScriptComponent {
15836
16023
  static TARGET_ANGLE_FACTOR: number;
15837
16024
  static ANGULAR_SPEED_RATIO: number;
@@ -20694,6 +20881,7 @@ export declare class PostProcessor extends ScriptComponent {
20694
20881
  SetVolumeWeight(weight: number): void;
20695
20882
  SetVolumePriority(priority: number): void;
20696
20883
  private isCinemachineVolume;
20884
+ private isSwitchedVolume;
20697
20885
  IsVolumeEnabled(): boolean;
20698
20886
  HasLocalVolumeObserver(): boolean;
20699
20887
  GetVolumeWeights(camera?: Camera): {
@@ -21257,6 +21445,7 @@ export interface IPostProcessCameraSelection {
21257
21445
  export declare class PostProcessingContract {
21258
21446
  static readonly VOLUME_TYPES: string[];
21259
21447
  static readonly CINEMACHINE_VOLUME_ROLE: string;
21448
+ static readonly SWITCHED_VOLUME_ROLE: string;
21260
21449
  static readonly GRADING_MODES: string[];
21261
21450
  static readonly RENDERING_PATH_DEFERRED: string;
21262
21451
  static readonly RENDERING_PATH_FORWARD: string;
@@ -24107,6 +24296,8 @@ export declare class RigidbodyPhysics extends ScriptComponent {
24107
24296
  protected static CreateCompoundRootMeshShape(scene: Scene, entity: TransformNode, collision: any, layer: number, filter: number): PhysicsShape;
24108
24297
  static CreateCompoundChildItem(scene: Scene, root: TransformNode, childnode: TransformNode, collision: any, childmasks: IPhysicsCollisionMasks): PhyscisContainerData;
24109
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;
24110
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;
24111
24302
  protected static CreateHeightFieldTerrainShapeFromMesh(terrainMesh: Mesh, scaleX: number, scaleZ: number): any;
24112
24303
  static GetPhysicsHeapSize(): number;
@@ -25818,6 +26009,8 @@ export interface ITerrainLoadProgress {
25818
26009
  }
25819
26010
  export declare class TerrainBuilder extends ScriptComponent {
25820
26011
  private static _registry;
26012
+ private static readonly ScratchInverse;
26013
+ private static readonly ScratchLocal;
25821
26014
  readonly onBuiltObservable: Observable<TerrainBuilder>;
25822
26015
  readonly onLoadProgressObservable: Observable<ITerrainLoadProgress>;
25823
26016
  readonly onLoadedObservable: Observable<TerrainBuilder>;
@@ -25913,6 +26106,10 @@ export declare class TerrainBuilder extends ScriptComponent {
25913
26106
  protected destroy(): void;
25914
26107
  private disposeParts;
25915
26108
  private buildAsync;
26109
+ private resolveEdgeNeighbors;
26110
+ private edgeNeighborFor;
26111
+ private canShareEdgeWith;
26112
+ private isAdjacentTile;
25916
26113
  private applyTreesAndFoliageVisibility;
25917
26114
  private getShadowCasters;
25918
26115
  addShadowCaster(mesh: AbstractMesh, force?: boolean): void;
@@ -25952,6 +26149,7 @@ export declare class TerrainBuilder extends ScriptComponent {
25952
26149
  private prewarmOnce;
25953
26150
  private static NowMs;
25954
26151
  private worldToUnityUV;
26152
+ private containsWorldPosition;
25955
26153
  SampleHeight(worldPosition: Vector3): number;
25956
26154
  GetInterpolatedHeight(u: number, v: number): number;
25957
26155
  GetInterpolatedNormal(u: number, v: number): Vector3;
@@ -26070,6 +26268,16 @@ export interface ITerrainDetailLayer {
26070
26268
  wavelength: number;
26071
26269
  } | null;
26072
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
+ }
26073
26281
  export interface ITerrainContract {
26074
26282
  contract: number;
26075
26283
  name: string;
@@ -26286,7 +26494,6 @@ export declare class TerrainDetails {
26286
26494
  cast: boolean;
26287
26495
  }[];
26288
26496
  private ensureMain;
26289
- private static ResizePreviousMatrices;
26290
26497
  private static TintBuffer;
26291
26498
  private chunkDistance;
26292
26499
  private buildChunk;
@@ -26369,6 +26576,7 @@ export declare class TerrainFoliagePlugin extends MaterialPluginBase {
26369
26576
  constructor(material: Material);
26370
26577
  get isGraph(): boolean;
26371
26578
  static IsGraphMaterial(material: Material): boolean;
26579
+ static GraphOwnsMotion(material: Material): boolean;
26372
26580
  getClassName(): string;
26373
26581
  isCompatible(shaderLanguage: ShaderLanguage): boolean;
26374
26582
  static Attach(material: Material, modes: number): TerrainFoliagePlugin;
@@ -26506,12 +26714,14 @@ export declare class TerrainHeightfield {
26506
26714
  private _errors;
26507
26715
  private _minH;
26508
26716
  private _maxH;
26717
+ private edgeNeighbors;
26509
26718
  constructor(contract: ITerrainContract, heights: Uint16Array);
26510
26719
  get cellSizeX(): number;
26511
26720
  get cellSizeZ(): number;
26512
26721
  heightAt(u: number, v: number): number;
26513
26722
  sampleHeight(x: number, z: number): number;
26514
26723
  normalAt(u: number, v: number, out: number[]): void;
26724
+ setEdgeNeighbors(neighbors: ITerrainEdgeNeighbors): void;
26515
26725
  setHoles(pixels: Uint8ClampedArray, width: number): void;
26516
26726
  private cellX;
26517
26727
  private cellZ;
@@ -26535,7 +26745,7 @@ export declare class TerrainHeightfield {
26535
26745
  export declare class TerrainMath {
26536
26746
  static DecodeHeight(value: number, sizeY: number): number;
26537
26747
  static SampleHeightBilinear(h: Uint16Array, R: number, sizeY: number, u: number, v: number): number;
26538
- 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;
26539
26749
  static UnityToLocalX(x: number, handedness: number): number;
26540
26750
  static UnityYawToLocal(yaw: number, handedness: number): number;
26541
26751
  static ControlSlot(layer: number): number[];
@@ -26687,6 +26897,8 @@ export interface ITerrainTreeCasterSlot {
26687
26897
  box: Float32Array;
26688
26898
  boxMin: Vector3;
26689
26899
  boxMax: Vector3;
26900
+ capacityCeiling: number;
26901
+ grown: boolean;
26690
26902
  }
26691
26903
  export interface ITerrainTreeHost {
26692
26904
  mesh: Mesh;
@@ -26702,6 +26914,8 @@ export interface ITerrainTreeHost {
26702
26914
  probeBuffer: Buffer;
26703
26915
  probeLit: boolean;
26704
26916
  slots: ITerrainTreeCasterSlot[];
26917
+ capacityCeiling: number;
26918
+ grown: boolean;
26705
26919
  }
26706
26920
  export interface ITerrainProbeSource {
26707
26921
  isActive(): boolean;
@@ -26722,6 +26936,9 @@ export declare class TerrainTrees {
26722
26936
  private static readonly SLOT_MARGIN;
26723
26937
  private static readonly NO_PROBE_RECORD;
26724
26938
  private static readonly LIGHT_TURN_DOT;
26939
+ private static readonly HOST_DRAW_STATE;
26940
+ private static PreparedHosts;
26941
+ private static ProbeBuffers;
26725
26942
  private static _materials;
26726
26943
  private _owner;
26727
26944
  private _hf;
@@ -26734,6 +26951,7 @@ export declare class TerrainTrees {
26734
26951
  private _colliderShapes;
26735
26952
  private _distance;
26736
26953
  private _built;
26954
+ private _warnedUniqueHost;
26737
26955
  private _n;
26738
26956
  private _proto;
26739
26957
  private _local;
@@ -26792,11 +27010,15 @@ export declare class TerrainTrees {
26792
27010
  drawn: number;
26793
27011
  visibleHosts: number;
26794
27012
  colliders: boolean;
27013
+ capacity: number;
26795
27014
  };
27015
+ static PreparedHostCount(scene: Scene): number;
26796
27016
  build(): void;
26797
27017
  private buildPrototype;
26798
27018
  static RendererUsesProbes(flags: any, index: number): boolean;
26799
27019
  static AttachProbeBuffer(host: Mesh, probes: Float32Array): Buffer;
27020
+ private static CreateProbeBuffer;
27021
+ private static ResizeProbeBuffer;
26800
27022
  private sampleProbes;
26801
27023
  pollProbes(): void;
26802
27024
  static NetworkLightsProbes(network: ITerrainProbeSource): boolean;
@@ -26809,6 +27031,9 @@ export declare class TerrainTrees {
26809
27031
  static InterleaveVertexData(mesh: Mesh): number;
26810
27032
  static HasGeometry(m: AbstractMesh): boolean;
26811
27033
  static CreateSharedHost(scene: Scene, source: Mesh, name: string): Mesh;
27034
+ private static BakeHostGeometry;
27035
+ private prepareHostGeometry;
27036
+ private createUniqueHost;
26812
27037
  private createHost;
26813
27038
  private createCasterSlots;
26814
27039
  static HasSpeedTreeWindVertexData(mesh: AbstractMesh): boolean;
@@ -26844,9 +27069,12 @@ export declare class TerrainTrees {
26844
27069
  private static TieRank;
26845
27070
  private static KthSmallest;
26846
27071
  private appendInstance;
27072
+ private static GrowTarget;
26847
27073
  private static LodCasts;
26848
27074
  private writeInstance;
26849
27075
  private writeCaster;
27076
+ private static RebindGrownTarget;
27077
+ static ResizePreviousMatrices(mesh: Mesh, matrices: Float32Array): void;
26850
27078
  private uploadTarget;
26851
27079
  private static Now;
26852
27080
  private buildColliders;
@@ -30686,6 +30914,225 @@ export declare class VisualEffectSpawner {
30686
30914
  private compileBlock;
30687
30915
  private static crosses;
30688
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
+ }
30689
31136
  export declare class WebVideoPlayer extends ScriptComponent implements IAssetPreloader {
30690
31137
  private videoLoop;
30691
31138
  private videoMuted;