@hology/core 0.0.273 → 0.0.274

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 (84) hide show
  1. package/dist/effects/sequence/sequence-player.js +1 -1
  2. package/dist/effects/vfx/gpu-sprite-runtime.js +1 -1
  3. package/dist/gameplay/actors/builtin/components/character/character-movement.d.ts +19 -0
  4. package/dist/gameplay/actors/builtin/components/character/character-movement.js +1 -1
  5. package/dist/gameplay/actors/builtin/water-spline-volume-actor.d.ts +10 -0
  6. package/dist/gameplay/actors/builtin/water-spline-volume-actor.js +1 -1
  7. package/dist/gameplay/actors/builtin/water-volume-actor.d.ts +3 -1
  8. package/dist/gameplay/actors/builtin/water-volume-actor.js +1 -1
  9. package/dist/gameplay/actors/camera/first-person-camera-component.js +1 -1
  10. package/dist/gameplay/actors/camera/third-person-camera-component.d.ts +7 -0
  11. package/dist/gameplay/actors/camera/third-person-camera-component.js +1 -1
  12. package/dist/gameplay/ai/behavior-tree/move.d.ts +5 -0
  13. package/dist/gameplay/ai/behavior-tree/move.js +1 -1
  14. package/dist/gameplay/ai/behavior-tree/move.test.d.ts +2 -0
  15. package/dist/gameplay/ai/behavior-tree/move.test.js +4 -0
  16. package/dist/gameplay/animation/root-motion.js +1 -1
  17. package/dist/gameplay/input/input-service.d.ts +9 -1
  18. package/dist/gameplay/input/input-service.js +1 -1
  19. package/dist/gameplay/services/physics/physics-system.d.ts +2 -0
  20. package/dist/gameplay/services/physics/physics-system.js +1 -1
  21. package/dist/gameplay/services/render.d.ts +4 -1
  22. package/dist/gameplay/services/render.js +1 -1
  23. package/dist/gameplay/services/world.d.ts +5 -0
  24. package/dist/rendering/node-material-webgpu-resolver.js +1 -1
  25. package/dist/rendering/webgpu-experimental-backend.d.ts +4 -2
  26. package/dist/rendering/webgpu-experimental-backend.js +1 -1
  27. package/dist/rendering.d.ts +17 -2
  28. package/dist/rendering.js +1 -1
  29. package/dist/scene/asset-resource-loader.d.ts +4 -0
  30. package/dist/scene/asset-resource-loader.js +1 -1
  31. package/dist/scene/collision/collision-shape-import.js +1 -1
  32. package/dist/scene/collision/rapier-shape.js +1 -1
  33. package/dist/scene/landscape/landscape-geometry.d.ts +24 -0
  34. package/dist/scene/landscape/landscape-geometry.js +4 -0
  35. package/dist/scene/landscape/landscape-manager.d.ts +1 -0
  36. package/dist/scene/landscape/landscape-manager.js +1 -1
  37. package/dist/scene/materializer.d.ts +7 -1
  38. package/dist/scene/materializer.js +1 -1
  39. package/dist/scene/scene-data-service.d.ts +2 -1
  40. package/dist/scene/scene-data-service.js +1 -1
  41. package/dist/scene/sky.d.ts +2 -0
  42. package/dist/scene/sky.js +1 -1
  43. package/dist/shader/graph/compiler.js +1 -1
  44. package/dist/shader/graph/registry.js +1 -1
  45. package/dist/shader/parameter.js +1 -1
  46. package/dist/shader/sprite-shader.js +1 -1
  47. package/dist/shader-nodes/depth.d.ts +6 -4
  48. package/dist/shader-nodes/depth.js +1 -1
  49. package/dist/shader-nodes/index.d.ts +2 -1
  50. package/dist/shader-nodes/index.js +1 -1
  51. package/dist/shader-nodes/surface-reflection.d.ts +9 -0
  52. package/dist/shader-nodes/surface-reflection.js +4 -0
  53. package/dist/shader-nodes/water-volume.d.ts +6 -2
  54. package/dist/shader-nodes/water-volume.js +1 -1
  55. package/dist/test/asset-resource-loader-texture-array.test.js +1 -1
  56. package/dist/test/character-movement-solve.test.js +1 -1
  57. package/dist/test/collision-shape-import.test.js +1 -1
  58. package/dist/test/first-person-camera-component.test.js +1 -1
  59. package/dist/test/frame-stats.test.js +1 -1
  60. package/dist/test/gpu-sprite-compiler.test.js +1 -1
  61. package/dist/test/input.test.js +1 -1
  62. package/dist/test/landscape-geometry.test.d.ts +2 -0
  63. package/dist/test/landscape-geometry.test.js +4 -0
  64. package/dist/test/material-assignment.test.js +1 -1
  65. package/dist/test/materializer-dynamic-transform.test.js +1 -1
  66. package/dist/test/materializer-prefetch.test.js +1 -1
  67. package/dist/test/net-character-movement.test.js +1 -1
  68. package/dist/test/node-material-webgpu-resolver.test.js +1 -1
  69. package/dist/test/parameter-definition.test.js +1 -1
  70. package/dist/test/physics-hitstop.test.d.ts +2 -0
  71. package/dist/test/physics-hitstop.test.js +4 -0
  72. package/dist/test/physics-ray-object.test.js +1 -1
  73. package/dist/test/post-process-effect.test.js +1 -1
  74. package/dist/test/rapier-trimesh.test.d.ts +2 -0
  75. package/dist/test/rapier-trimesh.test.js +4 -0
  76. package/dist/test/sequence-animation-retiming.test.js +1 -1
  77. package/dist/test/sequence-vfx.test.js +1 -1
  78. package/dist/test/surface-reflection.test.d.ts +2 -0
  79. package/dist/test/surface-reflection.test.js +4 -0
  80. package/dist/test/water-spline-volume-actor.test.js +1 -1
  81. package/dist/utils/three/frame-stats.d.ts +8 -0
  82. package/dist/utils/three/frame-stats.js +1 -1
  83. package/package.json +2 -2
  84. package/tsconfig.tsbuildinfo +1 -1
@@ -7,6 +7,8 @@ import { Camera, Object3D, WebGLRenderer, WebGLRenderTarget, Texture } from 'thr
7
7
  import { ShaderPass } from "three-stdlib";
8
8
  import { IRgbNode, RgbaNode } from 'three-shader-graph';
9
9
  import { CSM } from "three/examples/jsm/csm/CSM.js";
10
+ import { type RenderingStatsStyle } from './utils/three/frame-stats.js';
11
+ export type { RenderingStatsStyle } from './utils/three/frame-stats.js';
10
12
  import { GTAOPass } from "three/examples/jsm/postprocessing/GTAOPass.js";
11
13
  import { OutlinePass } from './utils/three/outline-pass.js';
12
14
  import { type PostProcessSettings, type PostProcessVolume } from "./gameplay/actors/builtin/post-process-volume-actor.js";
@@ -16,13 +18,13 @@ import { Cluster } from "./rendering/cluster-generator.js";
16
18
  import { LightVolume } from "./rendering/light-probes/light-volume-capture.js";
17
19
  import { type PostProcessMaterialSource } from "./shader/post-process-shader.js";
18
20
  import { type UpscalingOptions } from "./rendering/upscaling-pass.js";
19
- import { type AntiAliasingMode, type ExperimentalWebGpuPostProcessingOptions, type GTAOOptions, type GTAOQuality, type MotionBlurOptions, type MotionBlurOverride, type MotionBlurOverrideHandle, type RendererFrameProfile, type ExperimentalWebGpuRenderGraphExtension, type WebGpuPresentationExtension, type VolumetricFogOptions, type VolumetricFogQuality } from './rendering/webgpu-experimental-backend.js';
21
+ import { type AntiAliasingMode, type ExperimentalWebGpuPostProcessingOptions, type GTAOOptions, type GTAOQuality, type MotionBlurOptions, type MotionBlurOverride, type MotionBlurOverrideHandle, type RendererFrameProfile, type ExperimentalWebGpuRenderGraphExtension, type WebGpuPresentationExtension, type RendererSceneCapture, type VolumetricFogOptions, type VolumetricFogQuality } from './rendering/webgpu-experimental-backend.js';
20
22
  import type { WorldEnvironmentState } from './rendering/environment.js';
21
23
  import type { VfxBackendPreference } from './effects/vfx/gpu-sprite-compiler.js';
22
24
  import { type GraphicsRuntime } from './rendering/graphics-runtime.js';
23
25
  export { GraphicsRuntime } from './rendering/graphics-runtime.js';
24
26
  export type { UpscalingOptions } from "./rendering/upscaling-pass.js";
25
- export type { AntiAliasingMode, ExperimentalWebGpuPostProcessingOptions, ExperimentalWebGpuRenderGraphExtension, WebGpuPresentationExtension, WebGpuPresentationExtensionContext } from './rendering/webgpu-experimental-backend.js';
27
+ export type { AntiAliasingMode, ExperimentalWebGpuPostProcessingOptions, ExperimentalWebGpuRenderGraphExtension, WebGpuPresentationExtension, WebGpuPresentationExtensionContext, RendererSceneCapture, RendererSceneCaptureOptions, RendererSceneCapturePostProcessContext } from './rendering/webgpu-experimental-backend.js';
26
28
  export type { GTAOOptions, GTAOQuality, MotionBlurOptions, MotionBlurOverride, MotionBlurOverrideHandle, VolumetricFogOptions, VolumetricFogQuality } from './rendering/webgpu-experimental-backend.js';
27
29
  /** Renderer requested by a view. `webgpu-experimental` is a deprecated alias. */
28
30
  export type RenderingBackend = 'webgl' | 'webgpu' | 'webgpu-experimental';
@@ -72,6 +74,8 @@ export type DynamicResolutionOptions = {
72
74
  export type RenderingViewOptions = {
73
75
  /** Shared device/backend/cache owner. Views in one application should use the same instance. */
74
76
  graphicsRuntime?: GraphicsRuntime;
77
+ /** Defaults to detailed. Simple shows FPS/frame interval without enabling GPU profiling. */
78
+ statsStyle?: RenderingStatsStyle;
75
79
  /** Retain an unused WebGPU backend briefly for fast scene tab reopening. Defaults to 0. */
76
80
  webGpuBackendIdleRetentionMs?: number;
77
81
  backend?: RenderingBackend;
@@ -147,6 +151,10 @@ export declare class RenderingView {
147
151
  private outlinesEnabled;
148
152
  private selectedOutlineObjects;
149
153
  private experimentalStaticDrawSetRegistrations;
154
+ private readonly staticSpatialObjects;
155
+ /** Register a static render subtree while preserving authored object identity. */
156
+ registerStaticSpatialObject(root: THREE.Object3D): () => void;
157
+ refreshStaticSpatialObjects(root: THREE.Object3D, editing?: boolean): void;
150
158
  private experimentalWebGpuRenderGraphExtensions;
151
159
  private webGpuPresentationExtensions;
152
160
  private worldEnvironment;
@@ -320,6 +328,8 @@ export declare class RenderingView {
320
328
  setEnableOutlines(enabled: boolean): void;
321
329
  registerWebGpuPresentationExtension(extension: WebGpuPresentationExtension): () => void;
322
330
  get sharedGraphicsRuntime(): GraphicsRuntime;
331
+ /** Independent camera capture. Pass null for a persistent sampleable texture output. */
332
+ createSceneCapture(canvas: HTMLCanvasElement | null, width?: number, height?: number): RendererSceneCapture;
323
333
  setCamera(camera: Camera): void;
324
334
  setSelectedObjects(obj: Object3D[]): void;
325
335
  setExperimentalWebGpuTiledLightingEnabled(enabled: boolean): void;
@@ -372,12 +382,17 @@ export declare class RenderingView {
372
382
  removeOnLoop(onFrame: (deltaTime: number) => any): void;
373
383
  private stats;
374
384
  private readonly webGpuPassStatsDom;
385
+ private readonly webGpuResolutionStatsDom;
375
386
  private readonly webGpuVisibilityStatsDom;
376
387
  private webGpuPassStatsRows;
377
388
  private _showStats;
378
389
  private _profilingEnabled;
379
390
  set showStats(value: boolean);
380
391
  get showStats(): boolean;
392
+ /** Simple is intended for players; detailed retains engine diagnostics and GPU timings. */
393
+ set statsStyle(value: RenderingStatsStyle);
394
+ get statsStyle(): RenderingStatsStyle;
395
+ private get detailedStatsEnabled();
381
396
  /** Latest renderer profile. Profiling data is only collected when explicitly enabled. */
382
397
  getLastFrameProfile(): RendererFrameProfile | null;
383
398
  /** Collect renderer timings without showing the built-in renderer panels. */