@kitware/vtk.js 28.10.2 → 28.11.0

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 (565) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. package/vtk.js +18 -31
@@ -1,5 +1,5 @@
1
1
  import { mat4, vec3 } from 'gl-matrix';
2
- import { newInstance as newInstance$1, obj, get, getArray, setGet, vtkDebugMacro as vtkDebugMacro$1 } from '../../macros.js';
2
+ import { n as newInstance$1, o as obj, g as get, k as getArray, e as setGet, c as macro } from '../../macros2.js';
3
3
  import { r as radiansFromDegrees } from '../../Common/Core/Math/index.js';
4
4
  import vtkViewNode from '../SceneGraph/ViewNode.js';
5
5
  import vtkWebGPUBindGroup from './BindGroup.js';
@@ -8,13 +8,81 @@ import vtkWebGPUStorageBuffer from './StorageBuffer.js';
8
8
  import vtkWebGPUUniformBuffer from './UniformBuffer.js';
9
9
  import { registerOverride } from './ViewNodeFactory.js';
10
10
 
11
- var vtkDebugMacro = vtkDebugMacro$1;
12
- var clearFragColorTemplate = "\n//VTK::Renderer::Dec\n\n//VTK::Mapper::Dec\n\n//VTK::TCoord::Dec\n\n//VTK::RenderEncoder::Dec\n\n//VTK::IOStructs::Dec\n\n@fragment\nfn main(\n//VTK::IOStructs::Input\n)\n//VTK::IOStructs::Output\n{\n var output: fragmentOutput;\n\n var computedColor: vec4<f32> = mapperUBO.BackgroundColor;\n\n //VTK::RenderEncoder::Impl\n return output;\n}\n";
13
- var clearFragTextureTemplate = "\nfn vecToRectCoord(dir: vec3<f32>) -> vec2<f32> {\n var tau: f32 = 6.28318530718;\n var pi: f32 = 3.14159265359;\n var out: vec2<f32> = vec2<f32>(0.0);\n\n out.x = atan2(dir.z, dir.x) / tau;\n out.x += 0.5;\n\n var phix: f32 = length(vec2(dir.x, dir.z));\n out.y = atan2(dir.y, phix) / pi + 0.5;\n\n return out;\n}\n\n//VTK::Renderer::Dec\n\n//VTK::Mapper::Dec\n\n//VTK::TCoord::Dec\n\n//VTK::RenderEncoder::Dec\n\n//VTK::IOStructs::Dec\n\n@fragment\nfn main(\n//VTK::IOStructs::Input\n)\n//VTK::IOStructs::Output\n{\n var output: fragmentOutput;\n\n var tcoord: vec4<f32> = vec4<f32>(input.vertexVC.xy, -1, 1);\n var V: vec4<f32> = normalize(mapperUBO.FSQMatrix * tcoord); // vec2<f32>((input.tcoordVS.x - 0.5) * 2, -(input.tcoordVS.y - 0.5) * 2);\n // textureSampleLevel gets rid of some ugly artifacts\n var background = textureSampleLevel(EnvironmentTexture, EnvironmentTextureSampler, vecToRectCoord(V.xyz), 0);\n var computedColor: vec4<f32> = vec4<f32>(background.rgb, 1);\n\n //VTK::RenderEncoder::Impl\n return output;\n}\n";
11
+ const {
12
+ vtkDebugMacro
13
+ } = macro;
14
+ const clearFragColorTemplate = `
15
+ //VTK::Renderer::Dec
14
16
 
15
- var _fsqClearMat4 = new Float64Array(16);
17
+ //VTK::Mapper::Dec
16
18
 
17
- var _tNormalMat4 = new Float64Array(16); // Light type index gives either 0, 1, or 2 which indicates what type of light there is.
19
+ //VTK::TCoord::Dec
20
+
21
+ //VTK::RenderEncoder::Dec
22
+
23
+ //VTK::IOStructs::Dec
24
+
25
+ @fragment
26
+ fn main(
27
+ //VTK::IOStructs::Input
28
+ )
29
+ //VTK::IOStructs::Output
30
+ {
31
+ var output: fragmentOutput;
32
+
33
+ var computedColor: vec4<f32> = mapperUBO.BackgroundColor;
34
+
35
+ //VTK::RenderEncoder::Impl
36
+ return output;
37
+ }
38
+ `;
39
+ const clearFragTextureTemplate = `
40
+ fn vecToRectCoord(dir: vec3<f32>) -> vec2<f32> {
41
+ var tau: f32 = 6.28318530718;
42
+ var pi: f32 = 3.14159265359;
43
+ var out: vec2<f32> = vec2<f32>(0.0);
44
+
45
+ out.x = atan2(dir.z, dir.x) / tau;
46
+ out.x += 0.5;
47
+
48
+ var phix: f32 = length(vec2(dir.x, dir.z));
49
+ out.y = atan2(dir.y, phix) / pi + 0.5;
50
+
51
+ return out;
52
+ }
53
+
54
+ //VTK::Renderer::Dec
55
+
56
+ //VTK::Mapper::Dec
57
+
58
+ //VTK::TCoord::Dec
59
+
60
+ //VTK::RenderEncoder::Dec
61
+
62
+ //VTK::IOStructs::Dec
63
+
64
+ @fragment
65
+ fn main(
66
+ //VTK::IOStructs::Input
67
+ )
68
+ //VTK::IOStructs::Output
69
+ {
70
+ var output: fragmentOutput;
71
+
72
+ var tcoord: vec4<f32> = vec4<f32>(input.vertexVC.xy, -1, 1);
73
+ var V: vec4<f32> = normalize(mapperUBO.FSQMatrix * tcoord); // vec2<f32>((input.tcoordVS.x - 0.5) * 2, -(input.tcoordVS.y - 0.5) * 2);
74
+ // textureSampleLevel gets rid of some ugly artifacts
75
+ var background = textureSampleLevel(EnvironmentTexture, EnvironmentTextureSampler, vecToRectCoord(V.xyz), 0);
76
+ var computedColor: vec4<f32> = vec4<f32>(background.rgb, 1);
77
+
78
+ //VTK::RenderEncoder::Impl
79
+ return output;
80
+ }
81
+ `;
82
+ const _fsqClearMat4 = new Float64Array(16);
83
+ const _tNormalMat4 = new Float64Array(16);
84
+
85
+ // Light type index gives either 0, 1, or 2 which indicates what type of light there is.
18
86
  // While technically, there are only spot and directional lights, within the CellArrayMapper
19
87
  // there is a third, positional light. It is technically just a variant of a spot light with
20
88
  // a cone angle of 90 or above, however certain calculations can be skipped if it is treated
@@ -23,35 +91,31 @@ var _tNormalMat4 = new Float64Array(16); // Light type index gives either 0, 1,
23
91
  // 0 -> positional light
24
92
  // 1 -> directional light
25
93
  // 2 -> spot light
26
-
27
-
28
94
  function getLightTypeIndex(light) {
29
95
  if (light.getPositional()) {
30
96
  if (light.getConeAngle() >= 90) {
31
97
  return 0;
32
98
  }
33
-
34
99
  return 2;
35
100
  }
36
-
37
101
  return 1;
38
- } // ----------------------------------------------------------------------------
102
+ }
103
+
104
+ // ----------------------------------------------------------------------------
39
105
  // vtkWebGPURenderer methods
40
106
  // ----------------------------------------------------------------------------
41
-
42
107
  /* eslint-disable no-bitwise */
43
108
 
44
-
45
109
  function vtkWebGPURenderer(publicAPI, model) {
46
110
  // Set our className
47
- model.classHierarchy.push('vtkWebGPURenderer'); // Builds myself.
111
+ model.classHierarchy.push('vtkWebGPURenderer');
48
112
 
49
- publicAPI.buildPass = function (prepass) {
113
+ // Builds myself.
114
+ publicAPI.buildPass = prepass => {
50
115
  if (prepass) {
51
116
  if (!model.renderable) {
52
117
  return;
53
118
  }
54
-
55
119
  model.camera = model.renderable.getActiveCamera();
56
120
  publicAPI.updateLights();
57
121
  publicAPI.prepareNodes();
@@ -62,8 +126,7 @@ function vtkWebGPURenderer(publicAPI, model) {
62
126
  publicAPI.updateStabilizedMatrix();
63
127
  }
64
128
  };
65
-
66
- publicAPI.updateStabilizedMatrix = function () {
129
+ publicAPI.updateStabilizedMatrix = () => {
67
130
  // This method is designed to help with floating point
68
131
  // issues when rendering datasets that push the limits of
69
132
  // resolutions on float.
@@ -90,49 +153,40 @@ function vtkWebGPURenderer(publicAPI, model) {
90
153
  // when the center of the view frustum moves a lot
91
154
  // we recenter it. The center of the view frustum is roughly
92
155
  // camPos + dirOfProj*(far + near)*0.5
93
- var clipRange = model.camera.getClippingRange();
94
- var pos = model.camera.getPositionByReference();
95
- var dop = model.camera.getDirectionOfProjectionByReference();
96
- var center = [];
97
- var offset = [];
156
+ const clipRange = model.camera.getClippingRange();
157
+ const pos = model.camera.getPositionByReference();
158
+ const dop = model.camera.getDirectionOfProjectionByReference();
159
+ const center = [];
160
+ const offset = [];
98
161
  vec3.scale(offset, dop, 0.5 * (clipRange[0] + clipRange[1]));
99
162
  vec3.add(center, pos, offset);
100
163
  vec3.sub(offset, center, model.stabilizedCenter);
101
- var length = vec3.len(offset);
102
-
164
+ const length = vec3.len(offset);
103
165
  if (length / (clipRange[1] - clipRange[0]) > model.recenterThreshold) {
104
166
  model.stabilizedCenter = center;
105
167
  model.stabilizedTime.modified();
106
168
  }
107
169
  };
108
-
109
- publicAPI.updateLights = function () {
110
- var count = 0;
111
- var lights = model.renderable.getLightsByReference();
112
-
113
- for (var index = 0; index < lights.length; ++index) {
170
+ publicAPI.updateLights = () => {
171
+ let count = 0;
172
+ const lights = model.renderable.getLightsByReference();
173
+ for (let index = 0; index < lights.length; ++index) {
114
174
  if (lights[index].getSwitch() > 0.0) {
115
175
  count++;
116
176
  }
117
177
  }
118
-
119
178
  if (!count) {
120
179
  vtkDebugMacro('No lights are on, creating one.');
121
180
  model.renderable.createLight();
122
181
  }
123
-
124
182
  return count;
125
183
  };
126
-
127
- publicAPI.updateUBO = function () {
184
+ publicAPI.updateUBO = () => {
128
185
  // make sure the data is up to date
129
186
  // has the camera changed?
130
- var utime = model.UBO.getSendTime();
131
-
187
+ const utime = model.UBO.getSendTime();
132
188
  if (model._parent.getMTime() > utime || publicAPI.getMTime() > utime || model.camera.getMTime() > utime || model.renderable.getMTime() > utime) {
133
- var _model$renderable$get;
134
-
135
- var keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
189
+ const keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
136
190
  model.UBO.setArray('WCVCMatrix', keyMats.wcvc);
137
191
  model.UBO.setArray('SCPCMatrix', keyMats.scpc);
138
192
  model.UBO.setArray('PCSCMatrix', keyMats.pcsc);
@@ -140,104 +194,89 @@ function vtkWebGPURenderer(publicAPI, model) {
140
194
  model.UBO.setArray('VCPCMatrix', keyMats.vcpc);
141
195
  model.UBO.setArray('WCVCNormals', keyMats.normalMatrix);
142
196
  model.UBO.setValue('LightCount', model.renderable.getLights().length);
143
- model.UBO.setValue('MaxEnvironmentMipLevel', (_model$renderable$get = model.renderable.getEnvironmentTexture()) === null || _model$renderable$get === void 0 ? void 0 : _model$renderable$get.getMipLevel());
197
+ model.UBO.setValue('MaxEnvironmentMipLevel', model.renderable.getEnvironmentTexture()?.getMipLevel());
144
198
  model.UBO.setValue('BackgroundDiffuseStrength', model.renderable.getEnvironmentTextureDiffuseStrength());
145
199
  model.UBO.setValue('BackgroundSpecularStrength', model.renderable.getEnvironmentTextureSpecularStrength());
146
- var tsize = publicAPI.getYInvertedTiledSizeAndOrigin();
200
+ const tsize = publicAPI.getYInvertedTiledSizeAndOrigin();
147
201
  model.UBO.setArray('viewportSize', [tsize.usize, tsize.vsize]);
148
202
  model.UBO.setValue('cameraParallel', model.camera.getParallelProjection());
149
-
150
- var device = model._parent.getDevice();
151
-
203
+ const device = model._parent.getDevice();
152
204
  model.UBO.sendIfNeeded(device);
153
205
  }
154
206
  };
155
-
156
- publicAPI.updateSSBO = function () {
157
- var lights = model.renderable.getLights();
158
- var keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
159
- var lightTimeString = "".concat(model.renderable.getMTime());
160
-
161
- for (var i = 0; i < lights.length; i++) {
207
+ publicAPI.updateSSBO = () => {
208
+ const lights = model.renderable.getLights();
209
+ const keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
210
+ let lightTimeString = `${model.renderable.getMTime()}`;
211
+ for (let i = 0; i < lights.length; i++) {
162
212
  lightTimeString += lights[i].getMTime();
163
213
  }
164
-
165
214
  if (lightTimeString !== model.lightTimeString) {
166
- var lightPosArray = new Float32Array(lights.length * 4);
167
- var lightDirArray = new Float32Array(lights.length * 4);
168
- var lightColorArray = new Float32Array(lights.length * 4);
169
- var lightTypeArray = new Float32Array(lights.length * 4);
170
-
171
- for (var _i = 0; _i < lights.length; _i++) {
172
- var offset = _i * 4; // Position
173
-
174
- var viewCoordinatePosition = lights[_i].getPosition();
175
-
176
- vec3.transformMat4(viewCoordinatePosition, viewCoordinatePosition, keyMats.wcvc); // viewCoordinatePosition
177
-
215
+ const lightPosArray = new Float32Array(lights.length * 4);
216
+ const lightDirArray = new Float32Array(lights.length * 4);
217
+ const lightColorArray = new Float32Array(lights.length * 4);
218
+ const lightTypeArray = new Float32Array(lights.length * 4);
219
+ for (let i = 0; i < lights.length; i++) {
220
+ const offset = i * 4;
221
+
222
+ // Position
223
+ const viewCoordinatePosition = lights[i].getPosition();
224
+ vec3.transformMat4(viewCoordinatePosition, viewCoordinatePosition, keyMats.wcvc);
225
+ // viewCoordinatePosition
178
226
  lightPosArray[offset] = viewCoordinatePosition[0];
179
227
  lightPosArray[offset + 1] = viewCoordinatePosition[1];
180
228
  lightPosArray[offset + 2] = viewCoordinatePosition[2];
181
- lightPosArray[offset + 3] = 0; // Rotation (All are negative to correct for -Z being forward)
182
-
183
- lightDirArray[offset] = -lights[_i].getDirection()[0];
184
- lightDirArray[offset + 1] = -lights[_i].getDirection()[1];
185
- lightDirArray[offset + 2] = -lights[_i].getDirection()[2];
186
- lightDirArray[offset + 3] = 0; // Color
187
-
188
- lightColorArray[offset] = lights[_i].getColor()[0];
189
- lightColorArray[offset + 1] = lights[_i].getColor()[1];
190
- lightColorArray[offset + 2] = lights[_i].getColor()[2];
191
- lightColorArray[offset + 3] = lights[_i].getIntensity() * 5; // arbitrary multiplication to fix the dullness of low value PBR lights
192
- // Type
193
-
194
- lightTypeArray[offset] = getLightTypeIndex(lights[_i]); // Type
229
+ lightPosArray[offset + 3] = 0;
195
230
 
196
- lightTypeArray[offset + 1] = Math.cos(radiansFromDegrees(lights[_i].getConeAngle())); // Inner Phi, should probably do some check on these to make sure they dont excede limits
231
+ // Rotation (All are negative to correct for -Z being forward)
232
+ lightDirArray[offset] = -lights[i].getDirection()[0];
233
+ lightDirArray[offset + 1] = -lights[i].getDirection()[1];
234
+ lightDirArray[offset + 2] = -lights[i].getDirection()[2];
235
+ lightDirArray[offset + 3] = 0;
197
236
 
198
- lightTypeArray[offset + 2] = Math.cos(radiansFromDegrees(lights[_i].getConeAngle() + lights[_i].getConeFalloff())); // Outer Phi
237
+ // Color
238
+ lightColorArray[offset] = lights[i].getColor()[0];
239
+ lightColorArray[offset + 1] = lights[i].getColor()[1];
240
+ lightColorArray[offset + 2] = lights[i].getColor()[2];
241
+ lightColorArray[offset + 3] = lights[i].getIntensity() * 5; // arbitrary multiplication to fix the dullness of low value PBR lights
199
242
 
243
+ // Type
244
+ lightTypeArray[offset] = getLightTypeIndex(lights[i]); // Type
245
+ lightTypeArray[offset + 1] = Math.cos(radiansFromDegrees(lights[i].getConeAngle())); // Inner Phi, should probably do some check on these to make sure they dont excede limits
246
+ lightTypeArray[offset + 2] = Math.cos(radiansFromDegrees(lights[i].getConeAngle() + lights[i].getConeFalloff())); // Outer Phi
200
247
  lightTypeArray[offset + 3] = 0;
201
- } // Im not sure how correct this is, but this is what the example does
202
- // https://kitware.github.io/vtk-js/api/Rendering_WebGPU_VolumePassFSQ.html
203
-
248
+ }
204
249
 
250
+ // Im not sure how correct this is, but this is what the example does
251
+ // https://kitware.github.io/vtk-js/api/Rendering_WebGPU_VolumePassFSQ.html
205
252
  model.SSBO.clearData();
206
253
  model.SSBO.setNumberOfInstances(lights.length);
207
254
  model.SSBO.addEntry('LightPos', 'vec4<f32>'); // Position
208
-
209
255
  model.SSBO.addEntry('LightDir', 'vec4<f32>'); // Direction
210
-
211
256
  model.SSBO.addEntry('LightColor', 'vec4<f32>'); // Color (r, g, b, intensity)
212
-
213
257
  model.SSBO.addEntry('LightData', 'vec4<f32>'); // Other data (type, etc, etc, etc)
214
258
 
215
259
  model.SSBO.setAllInstancesFromArray('LightPos', lightPosArray);
216
260
  model.SSBO.setAllInstancesFromArray('LightDir', lightDirArray);
217
261
  model.SSBO.setAllInstancesFromArray('LightColor', lightColorArray);
218
262
  model.SSBO.setAllInstancesFromArray('LightData', lightTypeArray);
219
-
220
- var device = model._parent.getDevice();
221
-
263
+ const device = model._parent.getDevice();
222
264
  model.SSBO.send(device);
223
265
  }
224
-
225
266
  model.lightTimeString = lightTimeString;
226
267
  };
227
-
228
- publicAPI.scissorAndViewport = function (encoder) {
229
- var tsize = publicAPI.getYInvertedTiledSizeAndOrigin();
230
- encoder.getHandle().setViewport(tsize.lowerLeftU, tsize.lowerLeftV, tsize.usize, tsize.vsize, 0.0, 1.0); // set scissor
231
-
268
+ publicAPI.scissorAndViewport = encoder => {
269
+ const tsize = publicAPI.getYInvertedTiledSizeAndOrigin();
270
+ encoder.getHandle().setViewport(tsize.lowerLeftU, tsize.lowerLeftV, tsize.usize, tsize.vsize, 0.0, 1.0);
271
+ // set scissor
232
272
  encoder.getHandle().setScissorRect(tsize.lowerLeftU, tsize.lowerLeftV, tsize.usize, tsize.vsize);
233
273
  };
234
-
235
- publicAPI.bindUBO = function (renderEncoder) {
274
+ publicAPI.bindUBO = renderEncoder => {
236
275
  renderEncoder.activateBindGroup(model.bindGroup);
237
- }; // Renders myself
238
-
276
+ };
239
277
 
240
- publicAPI.opaquePass = function (prepass) {
278
+ // Renders myself
279
+ publicAPI.opaquePass = prepass => {
241
280
  if (prepass) {
242
281
  model.renderEncoder.begin(model._parent.getCommandEncoder());
243
282
  publicAPI.updateUBO();
@@ -248,51 +287,40 @@ function vtkWebGPURenderer(publicAPI, model) {
248
287
  model.renderEncoder.end();
249
288
  }
250
289
  };
251
-
252
- publicAPI.clear = function () {
253
- var _model$backgroundTex;
254
-
290
+ publicAPI.clear = () => {
255
291
  if (model.renderable.getTransparent() || model.suppressClear) {
256
292
  return;
257
293
  }
258
-
259
- var device = model._parent.getDevice(); // Normal Solid Color
260
-
261
-
294
+ const device = model._parent.getDevice();
295
+ // Normal Solid Color
262
296
  if (!model.clearFSQ) {
263
297
  model.clearFSQ = vtkWebGPUFullScreenQuad.newInstance();
264
298
  model.clearFSQ.setDevice(device);
265
299
  model.clearFSQ.setPipelineHash('clearfsq');
266
300
  model.clearFSQ.setFragmentShaderTemplate(clearFragColorTemplate);
267
- var ubo = vtkWebGPUUniformBuffer.newInstance({
301
+ const ubo = vtkWebGPUUniformBuffer.newInstance({
268
302
  label: 'mapperUBO'
269
303
  });
270
304
  ubo.addEntry('FSQMatrix', 'mat4x4<f32>');
271
305
  ubo.addEntry('BackgroundColor', 'vec4<f32>');
272
306
  model.clearFSQ.setUBO(ubo);
273
307
  model.backgroundTex = model.renderable.getEnvironmentTexture();
274
- } // Textured Background
275
-
276
-
277
- if (model.clearFSQ.getPipelineHash() !== 'clearfsqwithtexture' && model.renderable.getUseEnvironmentTextureAsBackground() && (_model$backgroundTex = model.backgroundTex) !== null && _model$backgroundTex !== void 0 && _model$backgroundTex.getImageLoaded()) {
308
+ }
309
+ // Textured Background
310
+ if (model.clearFSQ.getPipelineHash() !== 'clearfsqwithtexture' && model.renderable.getUseEnvironmentTextureAsBackground() && model.backgroundTex?.getImageLoaded()) {
278
311
  model.clearFSQ.setFragmentShaderTemplate(clearFragTextureTemplate);
279
-
280
- var _ubo = vtkWebGPUUniformBuffer.newInstance({
312
+ const ubo = vtkWebGPUUniformBuffer.newInstance({
281
313
  label: 'mapperUBO'
282
314
  });
283
-
284
- _ubo.addEntry('FSQMatrix', 'mat4x4<f32>');
285
-
286
- _ubo.addEntry('BackgroundColor', 'vec4<f32>');
287
-
288
- model.clearFSQ.setUBO(_ubo);
289
- var environmentTextureHash = device.getTextureManager().getTextureForVTKTexture(model.backgroundTex);
290
-
315
+ ubo.addEntry('FSQMatrix', 'mat4x4<f32>');
316
+ ubo.addEntry('BackgroundColor', 'vec4<f32>');
317
+ model.clearFSQ.setUBO(ubo);
318
+ const environmentTextureHash = device.getTextureManager().getTextureForVTKTexture(model.backgroundTex);
291
319
  if (environmentTextureHash.getReady()) {
292
- var tview = environmentTextureHash.createView("EnvironmentTexture");
320
+ const tview = environmentTextureHash.createView(`EnvironmentTexture`);
293
321
  model.clearFSQ.setTextureViews([tview]);
294
322
  model.backgroundTexLoaded = true;
295
- var interpolate = model.backgroundTex.getInterpolate() ? 'linear' : 'nearest';
323
+ const interpolate = model.backgroundTex.getInterpolate() ? 'linear' : 'nearest';
296
324
  tview.addSampler(device, {
297
325
  addressModeU: 'repeat',
298
326
  addressModeV: 'clamp-to-edge',
@@ -302,7 +330,6 @@ function vtkWebGPURenderer(publicAPI, model) {
302
330
  mipmapFilter: 'linear'
303
331
  });
304
332
  }
305
-
306
333
  model.clearFSQ.setPipelineHash('clearfsqwithtexture');
307
334
  } else if (model.clearFSQ.getPipelineHash() === 'clearfsqwithtexture' && !model.renderable.getUseEnvironmentTextureAsBackground()) {
308
335
  // In case the mode is changed at runtime
@@ -310,20 +337,15 @@ function vtkWebGPURenderer(publicAPI, model) {
310
337
  model.clearFSQ.setDevice(device);
311
338
  model.clearFSQ.setPipelineHash('clearfsq');
312
339
  model.clearFSQ.setFragmentShaderTemplate(clearFragColorTemplate);
313
-
314
- var _ubo2 = vtkWebGPUUniformBuffer.newInstance({
340
+ const ubo = vtkWebGPUUniformBuffer.newInstance({
315
341
  label: 'mapperUBO'
316
342
  });
317
-
318
- _ubo2.addEntry('FSQMatrix', 'mat4x4<f32>');
319
-
320
- _ubo2.addEntry('BackgroundColor', 'vec4<f32>');
321
-
322
- model.clearFSQ.setUBO(_ubo2);
343
+ ubo.addEntry('FSQMatrix', 'mat4x4<f32>');
344
+ ubo.addEntry('BackgroundColor', 'vec4<f32>');
345
+ model.clearFSQ.setUBO(ubo);
323
346
  }
324
-
325
- var keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
326
- var background = model.renderable.getBackgroundByReference();
347
+ const keyMats = model.webgpuCamera.getKeyMatrices(publicAPI);
348
+ const background = model.renderable.getBackgroundByReference();
327
349
  model.clearFSQ.getUBO().setArray('BackgroundColor', background);
328
350
  mat4.transpose(_tNormalMat4, keyMats.normalMatrix);
329
351
  mat4.mul(_fsqClearMat4, keyMats.scvc, keyMats.pcsc);
@@ -332,8 +354,7 @@ function vtkWebGPURenderer(publicAPI, model) {
332
354
  model.clearFSQ.getUBO().sendIfNeeded(device);
333
355
  model.clearFSQ.prepareAndDraw(model.renderEncoder);
334
356
  };
335
-
336
- publicAPI.translucentPass = function (prepass) {
357
+ publicAPI.translucentPass = prepass => {
337
358
  if (prepass) {
338
359
  model.renderEncoder.begin(model._parent.getCommandEncoder());
339
360
  } else {
@@ -341,8 +362,7 @@ function vtkWebGPURenderer(publicAPI, model) {
341
362
  model.renderEncoder.end();
342
363
  }
343
364
  };
344
-
345
- publicAPI.volumeDepthRangePass = function (prepass) {
365
+ publicAPI.volumeDepthRangePass = prepass => {
346
366
  if (prepass) {
347
367
  model.renderEncoder.begin(model._parent.getCommandEncoder());
348
368
  } else {
@@ -350,109 +370,97 @@ function vtkWebGPURenderer(publicAPI, model) {
350
370
  model.renderEncoder.end();
351
371
  }
352
372
  };
353
-
354
- publicAPI.getAspectRatio = function () {
355
- var size = model._parent.getSizeByReference();
356
-
357
- var viewport = model.renderable.getViewportByReference();
373
+ publicAPI.getAspectRatio = () => {
374
+ const size = model._parent.getSizeByReference();
375
+ const viewport = model.renderable.getViewportByReference();
358
376
  return size[0] * (viewport[2] - viewport[0]) / ((viewport[3] - viewport[1]) * size[1]);
359
377
  };
360
-
361
- publicAPI.convertToOpenGLDepth = function (val) {
362
- return model.webgpuCamera.convertToOpenGLDepth(val);
363
- };
364
-
365
- publicAPI.getYInvertedTiledSizeAndOrigin = function () {
366
- var res = publicAPI.getTiledSizeAndOrigin();
367
-
368
- var size = model._parent.getSizeByReference();
369
-
378
+ publicAPI.convertToOpenGLDepth = val => model.webgpuCamera.convertToOpenGLDepth(val);
379
+ publicAPI.getYInvertedTiledSizeAndOrigin = () => {
380
+ const res = publicAPI.getTiledSizeAndOrigin();
381
+ const size = model._parent.getSizeByReference();
370
382
  res.lowerLeftV = size[1] - res.vsize - res.lowerLeftV;
371
383
  return res;
372
384
  };
385
+ publicAPI.getTiledSizeAndOrigin = () => {
386
+ const vport = model.renderable.getViewportByReference();
373
387
 
374
- publicAPI.getTiledSizeAndOrigin = function () {
375
- var vport = model.renderable.getViewportByReference(); // if there is no window assume 0 1
388
+ // if there is no window assume 0 1
389
+ const tileViewPort = [0.0, 0.0, 1.0, 1.0];
376
390
 
377
- var tileViewPort = [0.0, 0.0, 1.0, 1.0]; // find the lower left corner of the viewport, taking into account the
391
+ // find the lower left corner of the viewport, taking into account the
378
392
  // lower left boundary of this tile
393
+ const vpu = vport[0] - tileViewPort[0];
394
+ const vpv = vport[1] - tileViewPort[1];
379
395
 
380
- var vpu = vport[0] - tileViewPort[0];
381
- var vpv = vport[1] - tileViewPort[1]; // store the result as a pixel value
382
-
383
- var ndvp = model._parent.normalizedDisplayToDisplay(vpu, vpv);
396
+ // store the result as a pixel value
397
+ const ndvp = model._parent.normalizedDisplayToDisplay(vpu, vpv);
398
+ const lowerLeftU = Math.round(ndvp[0]);
399
+ const lowerLeftV = Math.round(ndvp[1]);
384
400
 
385
- var lowerLeftU = Math.round(ndvp[0]);
386
- var lowerLeftV = Math.round(ndvp[1]); // find the upper right corner of the viewport, taking into account the
401
+ // find the upper right corner of the viewport, taking into account the
387
402
  // lower left boundary of this tile
403
+ const vpu2 = vport[2] - tileViewPort[0];
404
+ const vpv2 = vport[3] - tileViewPort[1];
405
+ const ndvp2 = model._parent.normalizedDisplayToDisplay(vpu2, vpv2);
388
406
 
389
- var vpu2 = vport[2] - tileViewPort[0];
390
- var vpv2 = vport[3] - tileViewPort[1];
391
-
392
- var ndvp2 = model._parent.normalizedDisplayToDisplay(vpu2, vpv2); // now compute the size of the intersection of the viewport with the
407
+ // now compute the size of the intersection of the viewport with the
393
408
  // current tile
394
-
395
-
396
- var usize = Math.round(ndvp2[0]) - lowerLeftU;
397
- var vsize = Math.round(ndvp2[1]) - lowerLeftV;
398
-
409
+ let usize = Math.round(ndvp2[0]) - lowerLeftU;
410
+ let vsize = Math.round(ndvp2[1]) - lowerLeftV;
399
411
  if (usize < 0) {
400
412
  usize = 0;
401
413
  }
402
-
403
414
  if (vsize < 0) {
404
415
  vsize = 0;
405
416
  }
406
-
407
417
  return {
408
- usize: usize,
409
- vsize: vsize,
410
- lowerLeftU: lowerLeftU,
411
- lowerLeftV: lowerLeftV
418
+ usize,
419
+ vsize,
420
+ lowerLeftU,
421
+ lowerLeftV
412
422
  };
413
423
  };
414
-
415
- publicAPI.getPropFromID = function (id) {
416
- for (var i = 0; i < model.children.length; i++) {
417
- var res = model.children[i].getPropID ? model.children[i].getPropID() : -1;
418
-
424
+ publicAPI.getPropFromID = id => {
425
+ for (let i = 0; i < model.children.length; i++) {
426
+ const res = model.children[i].getPropID ? model.children[i].getPropID() : -1;
419
427
  if (res === id) {
420
428
  return model.children[i];
421
429
  }
422
430
  }
423
-
424
431
  return null;
425
432
  };
426
-
427
- publicAPI.getStabilizedTime = function () {
428
- return model.stabilizedTime.getMTime();
429
- };
430
-
431
- publicAPI.releaseGraphicsResources = function () {
433
+ publicAPI.getStabilizedTime = () => model.stabilizedTime.getMTime();
434
+ publicAPI.releaseGraphicsResources = () => {
432
435
  if (model.selector !== null) {
433
436
  model.selector.releaseGraphicsResources();
434
437
  }
435
438
  };
436
- } // ----------------------------------------------------------------------------
439
+ }
440
+
441
+ // ----------------------------------------------------------------------------
437
442
  // Object factory
438
443
  // ----------------------------------------------------------------------------
439
444
 
440
-
441
- var DEFAULT_VALUES = {
445
+ const DEFAULT_VALUES = {
442
446
  bindGroup: null,
443
447
  selector: null,
444
448
  renderEncoder: null,
445
449
  recenterThreshold: 20.0,
446
450
  suppressClear: false,
447
451
  stabilizedCenter: [0.0, 0.0, 0.0]
448
- }; // ----------------------------------------------------------------------------
452
+ };
453
+
454
+ // ----------------------------------------------------------------------------
449
455
 
450
456
  function extend(publicAPI, model) {
451
- var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
452
- Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
457
+ let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
458
+ Object.assign(model, DEFAULT_VALUES, initialValues);
453
459
 
454
- vtkViewNode.extend(publicAPI, model, initialValues); // UBO
460
+ // Inheritance
461
+ vtkViewNode.extend(publicAPI, model, initialValues);
455
462
 
463
+ // UBO
456
464
  model.UBO = vtkWebGPUUniformBuffer.newInstance({
457
465
  label: 'rendererUBO'
458
466
  });
@@ -467,8 +475,9 @@ function extend(publicAPI, model) {
467
475
  model.UBO.addEntry('MaxEnvironmentMipLevel', 'f32');
468
476
  model.UBO.addEntry('BackgroundDiffuseStrength', 'f32');
469
477
  model.UBO.addEntry('BackgroundSpecularStrength', 'f32');
470
- model.UBO.addEntry('cameraParallel', 'u32'); // SSBO (Light data)
478
+ model.UBO.addEntry('cameraParallel', 'u32');
471
479
 
480
+ // SSBO (Light data)
472
481
  model.SSBO = vtkWebGPUStorageBuffer.newInstance({
473
482
  label: 'rendererLightSSBO'
474
483
  });
@@ -481,22 +490,29 @@ function extend(publicAPI, model) {
481
490
  model.stabilizedTime = {};
482
491
  obj(model.stabilizedTime, {
483
492
  mtime: 0
484
- }); // Build VTK API
493
+ });
485
494
 
495
+ // Build VTK API
486
496
  get(publicAPI, model, ['bindGroup', 'stabilizedTime']);
487
497
  getArray(publicAPI, model, ['stabilizedCenter']);
488
- setGet(publicAPI, model, ['renderEncoder', 'selector', 'suppressClear', 'UBO']); // Object methods
498
+ setGet(publicAPI, model, ['renderEncoder', 'selector', 'suppressClear', 'UBO']);
489
499
 
500
+ // Object methods
490
501
  vtkWebGPURenderer(publicAPI, model);
491
- } // ----------------------------------------------------------------------------
502
+ }
492
503
 
493
- var newInstance = newInstance$1(extend, 'vtkWebGPURenderer'); // ----------------------------------------------------------------------------
504
+ // ----------------------------------------------------------------------------
505
+
506
+ const newInstance = newInstance$1(extend, 'vtkWebGPURenderer');
507
+
508
+ // ----------------------------------------------------------------------------
494
509
 
495
510
  var index = {
496
- newInstance: newInstance,
497
- extend: extend
498
- }; // Register ourself to WebGPU backend if imported
511
+ newInstance,
512
+ extend
513
+ };
499
514
 
515
+ // Register ourself to WebGPU backend if imported
500
516
  registerOverride('vtkRenderer', newInstance);
501
517
 
502
518
  export { index as default, extend, newInstance };