@onerjs/core 8.51.2 → 8.51.4

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 (95) hide show
  1. package/Animations/animationGroup.d.ts +2 -1
  2. package/Animations/animationGroup.js +3 -2
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Engines/WebGPU/webgpuSnapshotRendering.js +7 -3
  5. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  6. package/Engines/abstractEngine.js +2 -2
  7. package/Engines/abstractEngine.js.map +1 -1
  8. package/Events/deviceInputEvents.d.ts +5 -0
  9. package/Events/deviceInputEvents.js.map +1 -1
  10. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.d.ts +65 -0
  11. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.js +74 -0
  12. package/FlowGraph/Blocks/Data/flowGraphIsKeyPressedBlock.js.map +1 -0
  13. package/FlowGraph/Blocks/Data/index.d.ts +1 -0
  14. package/FlowGraph/Blocks/Data/index.js +1 -0
  15. package/FlowGraph/Blocks/Data/index.js.map +1 -1
  16. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.d.ts +39 -0
  17. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.js +42 -0
  18. package/FlowGraph/Blocks/Event/flowGraphKeyDownEventBlock.js.map +1 -0
  19. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.d.ts +19 -0
  20. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.js +25 -0
  21. package/FlowGraph/Blocks/Event/flowGraphKeyUpEventBlock.js.map +1 -0
  22. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.d.ts +64 -0
  23. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js +50 -0
  24. package/FlowGraph/Blocks/Event/flowGraphKeyboardEventBlock.js.map +1 -0
  25. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  26. package/FlowGraph/Blocks/Event/flowGraphPointerDownEventBlock.js.map +1 -1
  27. package/FlowGraph/Blocks/Event/flowGraphPointerMoveEventBlock.js.map +1 -1
  28. package/FlowGraph/Blocks/Event/flowGraphPointerUpEventBlock.js.map +1 -1
  29. package/FlowGraph/Blocks/Event/index.d.ts +3 -0
  30. package/FlowGraph/Blocks/Event/index.js +3 -0
  31. package/FlowGraph/Blocks/Event/index.js.map +1 -1
  32. package/FlowGraph/Blocks/flowGraphBlockFactory.js +7 -0
  33. package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -1
  34. package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +3 -0
  35. package/FlowGraph/Blocks/flowGraphBlockNames.js +3 -0
  36. package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -1
  37. package/FlowGraph/flowGraph.d.ts +6 -0
  38. package/FlowGraph/flowGraph.js +10 -1
  39. package/FlowGraph/flowGraph.js.map +1 -1
  40. package/FlowGraph/flowGraphContext.d.ts +8 -0
  41. package/FlowGraph/flowGraphContext.js.map +1 -1
  42. package/FlowGraph/flowGraphCoordinator.d.ts +1 -1
  43. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  44. package/FlowGraph/flowGraphEventType.d.ts +2 -0
  45. package/FlowGraph/flowGraphEventType.js +2 -0
  46. package/FlowGraph/flowGraphEventType.js.map +1 -1
  47. package/FlowGraph/flowGraphParser.d.ts +15 -0
  48. package/FlowGraph/flowGraphParser.js +101 -14
  49. package/FlowGraph/flowGraphParser.js.map +1 -1
  50. package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +14 -0
  51. package/FlowGraph/flowGraphSceneEventCoordinator.js +56 -0
  52. package/FlowGraph/flowGraphSceneEventCoordinator.js.map +1 -1
  53. package/FlowGraph/serialization.js +16 -18
  54. package/FlowGraph/serialization.js.map +1 -1
  55. package/FlowGraph/utils.d.ts +7 -0
  56. package/FlowGraph/utils.js +8 -0
  57. package/FlowGraph/utils.js.map +1 -1
  58. package/Lights/Clustered/clusteredLightContainer.js +1 -1
  59. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  60. package/Materials/Background/backgroundMaterial.js +1 -0
  61. package/Materials/Background/backgroundMaterial.js.map +1 -1
  62. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +6 -0
  63. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  64. package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +2 -0
  65. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +14 -0
  66. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  67. package/Materials/Node/Blocks/Dual/lightBlock.js +1 -1
  68. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  69. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +2 -0
  70. package/Materials/Node/Blocks/Dual/textureBlock.js +19 -4
  71. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  72. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +11 -6
  73. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  74. package/Materials/Node/nodeMaterial.js +9 -0
  75. package/Materials/Node/nodeMaterial.js.map +1 -1
  76. package/Materials/PBR/openpbrMaterial.js +1 -0
  77. package/Materials/PBR/openpbrMaterial.js.map +1 -1
  78. package/Materials/PBR/pbrBaseMaterial.js +1 -0
  79. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  80. package/Materials/materialHelper.functions.d.ts +2 -1
  81. package/Materials/materialHelper.functions.js +8 -3
  82. package/Materials/materialHelper.functions.js.map +1 -1
  83. package/Materials/standardMaterial.js +1 -0
  84. package/Materials/standardMaterial.js.map +1 -1
  85. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js +30 -8
  86. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js.map +1 -1
  87. package/Misc/snapshotRenderingHelper.d.ts +4 -2
  88. package/Misc/snapshotRenderingHelper.js +33 -22
  89. package/Misc/snapshotRenderingHelper.js.map +1 -1
  90. package/Misc/tools.js +1 -1
  91. package/Misc/tools.js.map +1 -1
  92. package/Particles/thinParticleSystem.d.ts +6 -1
  93. package/Particles/thinParticleSystem.js +23 -6
  94. package/Particles/thinParticleSystem.js.map +1 -1
  95. package/package.json +1 -1
@@ -578,18 +578,40 @@ export class GaussianSplattingMeshBase extends Mesh {
578
578
  // each subMesh against the scene's shadow generators. Otherwise the first shadow pass
579
579
  // would be skipped (ShadowGenerator.isReady would return false) and we'd miss the shadow
580
580
  // on a renderCount=1 capture.
581
+ // The shadow generator's depth wrapper is standalone (it wraps a ShaderMaterial), so its
582
+ // isReadyForSubMesh path stamps an effect on subMesh._drawWrappers[engine.currentRenderPassId].
583
+ // If we leave currentRenderPassId set to the main pass while doing this, we'd overwrite the
584
+ // GS material's defines on the main draw wrapper, causing the GS material to recreate its
585
+ // defines on the next call and lose any plugin-driven define state (e.g. defines toggled
586
+ // by a MaterialPluginBase.isReadyForSubMesh override). Temporarily switch to each shadow
587
+ // generator's render pass id while preparing it (matches the pattern used in Mesh.isReady).
581
588
  if (this.material && this.material.shadowDepthWrapper) {
582
- for (const light of this._scene.lights) {
583
- const shadowGenerator = light.getShadowGenerator();
584
- if (!shadowGenerator) {
585
- continue;
586
- }
587
- for (const subMesh of this.subMeshes) {
588
- if (!shadowGenerator.isReady(subMesh, true, false)) {
589
- return false;
589
+ const engine = this._scene.getEngine();
590
+ const previousRenderPassId = engine.currentRenderPassId;
591
+ try {
592
+ for (const light of this._scene.lights) {
593
+ const shadowGenerator = light.getShadowGenerator();
594
+ if (!shadowGenerator) {
595
+ continue;
596
+ }
597
+ const shadowMap = shadowGenerator.getShadowMap();
598
+ const renderPassIds = shadowMap?.renderPassIds;
599
+ if (!renderPassIds || renderPassIds.length === 0) {
600
+ continue;
601
+ }
602
+ for (let p = 0; p < renderPassIds.length; ++p) {
603
+ engine.currentRenderPassId = renderPassIds[p];
604
+ for (const subMesh of this.subMeshes) {
605
+ if (!shadowGenerator.isReady(subMesh, true, false)) {
606
+ return false;
607
+ }
608
+ }
590
609
  }
591
610
  }
592
611
  }
612
+ finally {
613
+ engine.currentRenderPassId = previousRenderPassId;
614
+ }
593
615
  }
594
616
  return true;
595
617
  }