@hology/core 0.0.227 → 0.0.228

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 (51) hide show
  1. package/dist/effects/vfx/trail-renderer.js +1 -1
  2. package/dist/effects/vfx/vfx-materializer.js +1 -1
  3. package/dist/effects/vfx/vfx-renderers.js +1 -1
  4. package/dist/gameplay/actors/builtin/components/character/character-movement.js +1 -1
  5. package/dist/gameplay/initiate.d.ts +5 -1
  6. package/dist/gameplay/initiate.js +1 -1
  7. package/dist/gameplay/services/physics/physics-system.d.ts +1 -0
  8. package/dist/gameplay/services/physics/physics-system.js +1 -1
  9. package/dist/gameplay/services/pointer-events.d.ts +2 -0
  10. package/dist/rendering/environment.d.ts +8 -0
  11. package/dist/rendering/environment.js +4 -0
  12. package/dist/rendering/node-material-webgpu-resolver.d.ts +80 -0
  13. package/dist/rendering/node-material-webgpu-resolver.js +4 -0
  14. package/dist/rendering/post-process-effect.d.ts +4 -2
  15. package/dist/rendering/post-process-effect.js +1 -1
  16. package/dist/rendering/webgpu-experimental-backend.d.ts +104 -0
  17. package/dist/rendering/webgpu-experimental-backend.js +4 -0
  18. package/dist/rendering.d.ts +53 -1
  19. package/dist/rendering.js +1 -1
  20. package/dist/scene/materializer.d.ts +47 -2
  21. package/dist/scene/materializer.js +1 -1
  22. package/dist/scene/objects/shapes.d.ts +1 -2
  23. package/dist/scene/objects/shapes.js +1 -1
  24. package/dist/scene/sky.js +1 -1
  25. package/dist/shader/builtin/lambert-shader.d.ts +7 -6
  26. package/dist/shader/builtin/lambert-shader.js +1 -1
  27. package/dist/shader/builtin/landscape-composite-shader.js +1 -1
  28. package/dist/shader/graph/compiler.d.ts +3 -0
  29. package/dist/shader/graph/compiler.js +1 -1
  30. package/dist/shader/sprite-shader.d.ts +5 -2
  31. package/dist/shader/sprite-shader.js +1 -1
  32. package/dist/shader-nodes/depth.d.ts +17 -6
  33. package/dist/shader-nodes/depth.js +1 -1
  34. package/dist/shader-nodes/dither.js +1 -1
  35. package/dist/shader-nodes/glsl-node.js +1 -1
  36. package/dist/shader-nodes/index.d.ts +2 -1
  37. package/dist/shader-nodes/index.js +1 -1
  38. package/dist/shader-nodes/particle.d.ts +10 -4
  39. package/dist/shader-nodes/particle.js +1 -1
  40. package/dist/shader-nodes/pom.d.ts +3 -2
  41. package/dist/shader-nodes/pom.js +1 -1
  42. package/dist/shader-nodes/wgsl-node.d.ts +17 -0
  43. package/dist/shader-nodes/wgsl-node.js +4 -0
  44. package/dist/test/node-material-webgpu-resolver.test.d.ts +2 -0
  45. package/dist/test/node-material-webgpu-resolver.test.js +4 -0
  46. package/dist/test/post-process-effect.test.js +1 -1
  47. package/dist/test/shader-graph.test.js +1 -1
  48. package/dist/test/webgpu-experimental-backend.test.d.ts +2 -0
  49. package/dist/test/webgpu-experimental-backend.test.js +4 -0
  50. package/package.json +11 -4
  51. package/tsconfig.tsbuildinfo +1 -1
@@ -103,6 +103,7 @@ export type SceneObject = {
103
103
  */
104
104
  collisionDetection?: boolean;
105
105
  hidden?: boolean;
106
+ renderOrder?: number;
106
107
  /**
107
108
  * Materials assigned to this object. Only relevant for object type asset_mesh.
108
109
  * Materials assigned to a slot defined by its name and color and references a meterial asset.
@@ -407,6 +408,35 @@ export declare class SceneMaterializer {
407
408
  private collectMaterialAssignments;
408
409
  private collectObjectMaterialAssignments;
409
410
  init(): Promise<void>;
411
+ /**
412
+ * Static draw sets are immutable snapshots. Restore the ordinary editor
413
+ * meshes while transform controls are manipulating the authored objects.
414
+ */
415
+ get editorStaticDrawSetsEnabled(): boolean;
416
+ set editorStaticDrawSetsEnabled(enabled: boolean);
417
+ beginEditorStaticSceneEdit(objects?: Iterable<Object3D>): void;
418
+ /**
419
+ * Keep the small current selection authored/dynamic. This avoids depending
420
+ * on merged static-draw identity for editor outlines while the rest of the
421
+ * scene remains static.
422
+ */
423
+ setEditorStaticSelectedObjects(objects: Iterable<Object3D>): void;
424
+ /** Re-snapshot eligible asset meshes after an editor manipulation ends. */
425
+ endEditorStaticSceneEdit(): void;
426
+ /** Resolve an authored editor object to the object captured by the static set. */
427
+ getEditorRenderObject(object: Object3D): Object3D;
428
+ private scheduleEditorStaticDrawSetRebuild;
429
+ /**
430
+ * Static authored objects are parented under an identity holding root using
431
+ * world-space local transforms. Restore their authored parent before a data
432
+ * mutation applies parent-relative position/rotation/scale (including undo).
433
+ */
434
+ private prepareEditorStaticObjectForMutation;
435
+ private rebuildEditorStaticDrawSet;
436
+ private buildEditorStaticDrawChunk;
437
+ private canUseEditorStaticDrawSet;
438
+ private disposeEditorStaticDrawSet;
439
+ private disposeEditorStaticDrawChunk;
410
440
  /**
411
441
  * Materialize visual effects to upload textures
412
442
  * and compile shaders before they are first used.
@@ -437,6 +467,22 @@ export declare class SceneMaterializer {
437
467
  private applyActorComponentParams;
438
468
  private canObjectBeInstanced;
439
469
  private _canBeInstancedCache;
470
+ private experimentalStaticDrawSetDisposer?;
471
+ private readonly editorStaticDrawChunks;
472
+ private editorStaticAuthoredRoot?;
473
+ private editorStaticChunkBySource;
474
+ private editorStaticSnapshotBySource;
475
+ private readonly dirtyEditorStaticDrawChunks;
476
+ private readonly editorStaticEditingObjects;
477
+ private readonly editorStaticSelectedObjects;
478
+ private editorStaticDrawSetSuspended;
479
+ private editorStaticDrawSetRebuildQueued;
480
+ private editorStaticFullRebuildQueued;
481
+ private _editorStaticDrawSetsEnabled;
482
+ private editorStaticInitialized;
483
+ private editorStaticDisposed;
484
+ private readonly editorStaticObjectsToRebuild;
485
+ readonly editorStaticDrawSetUpdated$: Subject<void>;
440
486
  private canAssetBeInstanced;
441
487
  private sky;
442
488
  private preInit;
@@ -476,6 +522,7 @@ export declare class SceneMaterializer {
476
522
  updateComponents(components: ClassImpl<ActorComponent>[]): void;
477
523
  updateShaders(shaders: ShaderImpl[]): void;
478
524
  private worldEnvObj;
525
+ private worldEnvironmentRequest;
479
526
  private update;
480
527
  materializeAndInitActor(source: SceneObject, parent?: THREE.Object3D<THREE.Object3DEventMap, Event>): Promise<THREE.Object3D<THREE.Object3DEventMap, Event>>;
481
528
  private tryApplyLiveActorParameterUpdate;
@@ -513,8 +560,6 @@ export declare class SceneMaterializer {
513
560
  private sceneReferencesPrefabAsset;
514
561
  private prefabAssetContainsSurfaceScatter;
515
562
  private prefabAssetContainsPaintedScatter;
516
- private pmremGenerator?;
517
- private pmremGeneratorResults;
518
563
  private applyTransform;
519
564
  private updateWorldEnv;
520
565
  private resetWorldEnv;