@hology/core 0.0.250 → 0.0.252
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/effects/sequence/sequence-data.d.ts +2 -0
- package/dist/effects/sequence/sequence-data.js +1 -1
- package/dist/effects/sequence/sequence-definitions.js +1 -1
- package/dist/effects/sequence/sequence-player.d.ts +4 -0
- package/dist/effects/sequence/sequence-player.js +1 -1
- package/dist/effects/vfx/gpu-sprite-runtime.js +1 -1
- package/dist/effects/vfx/gpu-vfx-world-service.js +1 -1
- package/dist/gameplay/actors/actor.js +1 -1
- package/dist/gameplay/actors/builtin/components/character/character-animation.js +1 -1
- package/dist/gameplay/actors/camera/third-person-camera-component.js +1 -1
- package/dist/gameplay/ai/dynamic-tiled-navmesh.js +1 -1
- package/dist/gameplay/initiate.d.ts +4 -0
- package/dist/gameplay/initiate.js +1 -1
- package/dist/gameplay/services/render.d.ts +11 -3
- package/dist/gameplay/services/render.js +1 -1
- package/dist/rendering/native-dlss-upscaler.d.ts +104 -0
- package/dist/rendering/native-dlss-upscaler.js +4 -0
- package/dist/rendering/node-material-webgpu-resolver.d.ts +2 -1
- package/dist/rendering/node-material-webgpu-resolver.js +1 -1
- package/dist/rendering/post-process-effect.d.ts +1 -1
- package/dist/rendering/post-process-effect.js +1 -1
- package/dist/rendering/rendering-backend.d.ts +9 -0
- package/dist/rendering/rendering-backend.js +4 -0
- package/dist/rendering/upscaling-pass.d.ts +9 -1
- package/dist/rendering/upscaling-pass.js +1 -1
- package/dist/rendering/webgl-backend.d.ts +32 -0
- package/dist/rendering/webgl-backend.js +4 -0
- package/dist/rendering/webgpu-experimental-backend.d.ts +19 -2
- package/dist/rendering/webgpu-experimental-backend.js +1 -1
- package/dist/rendering/webgpu-runtime-bridge.d.ts +22 -0
- package/dist/rendering/webgpu-runtime-bridge.js +4 -0
- package/dist/rendering.d.ts +45 -16
- package/dist/rendering.js +1 -1
- package/dist/scene/asset-resource-loader.d.ts +5 -0
- package/dist/scene/asset-resource-loader.js +1 -1
- package/dist/scene/materializer.js +1 -1
- package/dist/scene/materials/water.js +1 -1
- package/dist/scene/runtime-bundled-backend-service.d.ts +7 -0
- package/dist/scene/runtime-bundled-backend-service.js +1 -1
- package/dist/scene/storage/packed-json.js +1 -1
- package/dist/secondary-motion/runtime.d.ts +1 -1
- package/dist/secondary-motion/runtime.js +1 -1
- package/dist/test/actor-attachment.test.d.ts +2 -0
- package/dist/test/actor-attachment.test.js +4 -0
- package/dist/test/gpu-sprite-compiler.test.js +1 -1
- package/dist/test/native-dlss-upscaler.test.d.ts +2 -0
- package/dist/test/native-dlss-upscaler.test.js +4 -0
- package/dist/test/node-material-webgpu-resolver.test.js +1 -1
- package/dist/test/webgpu-experimental-backend.test.js +1 -1
- package/dist/utils/uuid.js +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
let e=null,n=null;export function configureWebGpuRuntimeBindings(n){e=n}export async function ensureWebGpuRuntimeBindings(){null==e&&(n??(n=import("@hology/webgpu-renderer").then(e=>{configureWebGpuRuntimeBindings({createComputeKernel:(n,i)=>new e.ComputeKernel(n,i),buildParticleLightingShaderHeader:e.buildParticleLightingShaderHeader})}).catch(e=>{throw n=null,e})),await n)}export function createWebGpuComputeKernel(n,i){if(null==e)throw new Error("WebGPU runtime bindings are unavailable. Initialize the WebGPU rendering backend first.");return e.createComputeKernel(n,i)}export function buildWebGpuParticleLightingShaderHeader(n=!0,i){if(null==e)throw new Error("WebGPU runtime bindings are unavailable. Initialize the WebGPU rendering backend first.");return e.buildParticleLightingShaderHeader(n,i)}/*
|
|
2
|
+
* Copyright (©) 2026 Hology Interactive AB. All rights reserved.
|
|
3
|
+
* See the LICENSE.md file for details.
|
|
4
|
+
*/
|
package/dist/rendering.d.ts
CHANGED
|
@@ -18,7 +18,9 @@ import type { VfxBackendPreference } from './effects/vfx/gpu-sprite-compiler.js'
|
|
|
18
18
|
export type { UpscalingOptions } from "./rendering/upscaling-pass.js";
|
|
19
19
|
export type { AntiAliasingMode, ExperimentalWebGpuPostProcessingOptions, ExperimentalWebGpuRenderGraphExtension } from './rendering/webgpu-experimental-backend.js';
|
|
20
20
|
export type { GTAOOptions, GTAOQuality, MotionBlurOptions, MotionBlurOverride, MotionBlurOverrideHandle, VolumetricFogOptions, VolumetricFogQuality } from './rendering/webgpu-experimental-backend.js';
|
|
21
|
-
|
|
21
|
+
/** Renderer requested by a view. `webgpu-experimental` is a deprecated alias. */
|
|
22
|
+
export type RenderingBackend = 'webgl' | 'webgpu' | 'webgpu-experimental';
|
|
23
|
+
export type ActiveRenderingBackend = 'webgl' | 'webgpu';
|
|
22
24
|
export interface DirectionalShadowOptions {
|
|
23
25
|
enabled: boolean;
|
|
24
26
|
mapSize: number;
|
|
@@ -101,6 +103,7 @@ export type RenderingViewOptions = {
|
|
|
101
103
|
enabled?: boolean;
|
|
102
104
|
};
|
|
103
105
|
shadows?: {
|
|
106
|
+
enabled?: boolean;
|
|
104
107
|
autoUpdate?: boolean;
|
|
105
108
|
/**
|
|
106
109
|
* Array of update intervals (ms) for each CSM cascade. The first value is for the closest shadow, the next for the next cascade, etc.
|
|
@@ -115,27 +118,36 @@ export type RenderingViewOptions = {
|
|
|
115
118
|
export declare class RenderingView {
|
|
116
119
|
container: HTMLElement;
|
|
117
120
|
readonly options: RenderingViewOptions;
|
|
121
|
+
private static readonly webGpuBackendPool;
|
|
118
122
|
private static activeView;
|
|
119
|
-
private static sharedExperimentalWebGpuBackend;
|
|
120
|
-
private static sharedExperimentalWebGpuBackendPromise;
|
|
121
123
|
private static experimentalWebGpuPresentationView;
|
|
122
|
-
private
|
|
124
|
+
private backendHandle;
|
|
125
|
+
private webGlBackend;
|
|
123
126
|
private experimentalWebGpuBackend;
|
|
127
|
+
private experimentalWebGpuBackendPoolKey;
|
|
124
128
|
private experimentalWebGpuFailed;
|
|
129
|
+
private webGpuRuntimeErrorReported;
|
|
125
130
|
private experimentalWebGpuCapabilityReported;
|
|
126
131
|
private experimentalWebGpuDynamicBatchingEnabled;
|
|
132
|
+
private ambientOcclusionSettings;
|
|
127
133
|
private experimentalWebGpuSelectedObjectInstances;
|
|
134
|
+
private outlinesEnabled;
|
|
135
|
+
private selectedOutlineObjects;
|
|
128
136
|
private experimentalStaticDrawSetRegistrations;
|
|
129
137
|
private experimentalWebGpuRenderGraphExtensions;
|
|
130
138
|
private worldEnvironment;
|
|
131
|
-
get activeBackend():
|
|
132
|
-
get
|
|
139
|
+
get activeBackend(): ActiveRenderingBackend | null;
|
|
140
|
+
get canvas(): HTMLCanvasElement | null;
|
|
141
|
+
get initialized(): boolean;
|
|
142
|
+
get requestedBackend(): ActiveRenderingBackend;
|
|
133
143
|
get vfxBackendPreference(): VfxBackendPreference;
|
|
134
144
|
get webgpuVfxInstancesPerTemplate(): number;
|
|
135
145
|
get webgpuVfxTemplateMemoryBudgetBytes(): number;
|
|
136
146
|
get webgpuVfxWorldMemoryBudgetBytes(): number;
|
|
137
147
|
/** @deprecated Retained for source compatibility; GPU VFX no longer performs timed eviction. */
|
|
138
148
|
get webgpuVfxColdTemplateSeconds(): number;
|
|
149
|
+
get webGpuDevice(): GPUDevice | null;
|
|
150
|
+
/** @deprecated Use webGpuDevice. */
|
|
139
151
|
get experimentalWebGpuDevice(): GPUDevice | null;
|
|
140
152
|
/**
|
|
141
153
|
* Snapshots a materialized static root after the experimental renderer has
|
|
@@ -143,14 +155,18 @@ export declare class RenderingView {
|
|
|
143
155
|
* so WebGL fallback continues to render the normal Three.js objects.
|
|
144
156
|
*/
|
|
145
157
|
registerExperimentalStaticDrawSet(root: THREE.Object3D, label: string, allowUnsortedLateDraws?: boolean): () => void;
|
|
146
|
-
/**
|
|
158
|
+
/** @deprecated Use registerWebGpuRenderGraphExtension. */
|
|
147
159
|
registerExperimentalWebGpuRenderGraphExtension(extension: ExperimentalWebGpuRenderGraphExtension): () => void;
|
|
148
160
|
private isIntersecting;
|
|
149
161
|
private needsPausedRender;
|
|
150
162
|
private wakePausedRenderer;
|
|
151
163
|
camera: THREE.Camera;
|
|
152
164
|
windowVisible: boolean;
|
|
165
|
+
/** @deprecated WebGL-specific escape hatch. Use webGlRenderer and backend-neutral RenderingView APIs. */
|
|
153
166
|
renderer: WebGLRenderer;
|
|
167
|
+
/** Returns the WebGL renderer only when the active backend is WebGL. */
|
|
168
|
+
get webGlRenderer(): WebGLRenderer | null;
|
|
169
|
+
registerWebGpuRenderGraphExtension(extension: ExperimentalWebGpuRenderGraphExtension): () => void;
|
|
154
170
|
rendererDepth: WebGLRenderer;
|
|
155
171
|
private composer;
|
|
156
172
|
private bloomComposer;
|
|
@@ -193,8 +209,8 @@ export declare class RenderingView {
|
|
|
193
209
|
private volumetricFogPass;
|
|
194
210
|
private postProcessEffectId;
|
|
195
211
|
private postProcessEffects;
|
|
196
|
-
private
|
|
197
|
-
private
|
|
212
|
+
private postProcessEffectResolution;
|
|
213
|
+
private postProcessEffectUniformState;
|
|
198
214
|
private fquadCopySceneColor;
|
|
199
215
|
private fquadCopySceneDepth;
|
|
200
216
|
private occlusionClusters;
|
|
@@ -212,6 +228,7 @@ export declare class RenderingView {
|
|
|
212
228
|
* additively combined. Normals as well could simply be overwritten for SSR.
|
|
213
229
|
*/
|
|
214
230
|
private fquadBlendAO;
|
|
231
|
+
private createAoblendQuad;
|
|
215
232
|
setPaused(value: boolean): void;
|
|
216
233
|
resolutionScale: number;
|
|
217
234
|
maxPixelRatio: number;
|
|
@@ -270,6 +287,8 @@ export declare class RenderingView {
|
|
|
270
287
|
private outlineEffect;
|
|
271
288
|
private gRenderTarget;
|
|
272
289
|
private phasedRenderPass;
|
|
290
|
+
private webGlInitialized;
|
|
291
|
+
private setupWebGlPipeline;
|
|
273
292
|
constructor(container: HTMLElement, options?: RenderingViewOptions);
|
|
274
293
|
addCluster(cluster: Cluster): void;
|
|
275
294
|
/**
|
|
@@ -286,6 +305,11 @@ export declare class RenderingView {
|
|
|
286
305
|
setMotionBlurOptions(options: MotionBlurOptions): void;
|
|
287
306
|
setDirectionalShadowOptions(options: DirectionalShadowOptions): void;
|
|
288
307
|
setGTAOOptions(options: GTAOOptions): void;
|
|
308
|
+
configureAmbientOcclusion(enabled: boolean, blendIntensity?: number, options?: Record<string, unknown>): void;
|
|
309
|
+
invalidateShadows(): void;
|
|
310
|
+
initTexture(texture: Texture): void;
|
|
311
|
+
setBaseToneMapping(mapping: THREE.ToneMapping, exposure: number): void;
|
|
312
|
+
get supportsWebGlDepthTexture(): boolean;
|
|
289
313
|
setAntiAliasingMode(mode: AntiAliasingMode): void;
|
|
290
314
|
setGTAOQuality(quality: GTAOQuality): void;
|
|
291
315
|
setVolumetricFogOptions(options: VolumetricFogOptions): void;
|
|
@@ -330,7 +354,8 @@ export declare class RenderingView {
|
|
|
330
354
|
private syncWebGpuPassStatsDom;
|
|
331
355
|
private updateWebGpuPassStats;
|
|
332
356
|
private getActiveRendererCanvas;
|
|
333
|
-
private
|
|
357
|
+
private requireInitializedBackend;
|
|
358
|
+
private fallbackToWebGlForUnavailableWebGpu;
|
|
334
359
|
private activateExperimentalStaticDrawSets;
|
|
335
360
|
private disposeExperimentalStaticDrawSets;
|
|
336
361
|
private applyEnvMap;
|
|
@@ -405,6 +430,12 @@ export declare class RenderingView {
|
|
|
405
430
|
private unapplyGBufferMaterials;
|
|
406
431
|
private applyGBufferShadowUniformUpdater;
|
|
407
432
|
initTextures(scene?: THREE.Scene): void;
|
|
433
|
+
/**
|
|
434
|
+
* Initializes scene textures without monopolizing the host event loop.
|
|
435
|
+
* Intended for loading boundaries where native hosts must continue pumping
|
|
436
|
+
* their window and presenting a loading UI while uploads are prepared.
|
|
437
|
+
*/
|
|
438
|
+
initTexturesAsync(scene?: THREE.Scene): Promise<void>;
|
|
408
439
|
private _initiatedMaterialTextures;
|
|
409
440
|
private _initiatedTextures;
|
|
410
441
|
private _initMaterialTextures;
|
|
@@ -412,15 +443,15 @@ export declare class RenderingView {
|
|
|
412
443
|
private compileInProgress;
|
|
413
444
|
compileAsync(scene?: Object3D): Promise<void>;
|
|
414
445
|
private compileExperimentalWebGpu;
|
|
415
|
-
private
|
|
446
|
+
private acquireWebGpuBackend;
|
|
447
|
+
private releaseExperimentalWebGpuBackend;
|
|
416
448
|
private applyExperimentalWebGpuViewState;
|
|
449
|
+
private syncWebGpuOutlineState;
|
|
417
450
|
private depthMaterialCachedMaterials;
|
|
418
451
|
private applyDepthMaterial;
|
|
419
452
|
private unapplyDepthMaterial;
|
|
420
453
|
private renderScene;
|
|
421
|
-
|
|
422
|
-
private pmremGeneratorResults;
|
|
423
|
-
getEnvTexture(texture: Texture): THREE.Texture;
|
|
454
|
+
getEnvTexture(texture: Texture): Texture;
|
|
424
455
|
private applyPostProcessSettings;
|
|
425
456
|
private updatePostProcessEffectUniforms;
|
|
426
457
|
private insetHeight;
|
|
@@ -439,8 +470,6 @@ export declare class RenderingView {
|
|
|
439
470
|
private bloomStoredMaterials;
|
|
440
471
|
private bloomHidden;
|
|
441
472
|
private hasBloom;
|
|
442
|
-
private darkenNonBloomed;
|
|
443
|
-
private restoreMaterial;
|
|
444
473
|
private initSceneColorUniform;
|
|
445
474
|
private initDepthUniform;
|
|
446
475
|
private initNormalUniform;
|